Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp5265597imw; Wed, 20 Jul 2022 02:16:52 -0700 (PDT) X-Google-Smtp-Source: AGRyM1u+6+2wptpcDISA75/QyqxYnjLpp+nPTB5WTab3jgRiBVLlJhsodIJfwehYeIvx1ufLurHM X-Received: by 2002:a05:6402:1914:b0:43a:d59b:5e79 with SMTP id e20-20020a056402191400b0043ad59b5e79mr49063129edz.124.1658308612104; Wed, 20 Jul 2022 02:16:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1658308612; cv=none; d=google.com; s=arc-20160816; b=Sp7EoDdOVYsj5jZqqlHCdlWw73pBucTnId0g/JdyIjBEjAw5QOa4+9k3vvqcB7aQJt WUQjN33BKRx6JPJ2EqbcVhyObgDjB7kHlu4A+fwVJI+IA3jvi/bf8IbDBrMUnDTTWPsF Td8wNoEzPYzQAurFctXiPKlvsOdtToD28hr6jrAQsyujQgUinveA29O59MzmHnCH8DjA cgWeYgXYI5bwFKIDXaT7DsdZsnwuX1RE28o7zgsjZAUogEFlsbNYu4mT5KdFCeX6vC5V 2ehOOt6Dqp5JMyM3Ob0iz9jYAZgHdobSREqzY1nu0/E3yWfr0fQDwTWIEB14WiGfHOYQ qL8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=1pCmF+7gOKupa+PsFrKqJcnPGIHHy1V9PA29ImLA4kE=; b=Mwtpk3GbHs8zGcH564PozPunqdKNZ8p1iHdEZX+L1ptEMMMovghyly48WaY+GwhuEs yUTVTp7UnIN7Q1Z93cxsouR5BQ5xkAO1wC/QV6WjUYdvgC32mMdQnDkQPmDq74JPPzXi RRpzPn2eHwAR5+nGzR8pmG+HWtQE2VPelxAkASita5Nimd+Aqwrdr2F/y+xY+M9WL5iS 54vTYXMJmrKaCBaEkVp65z47BdLi8vnNn3+XS+H/yACK4viNdm9gO5LO5PPTTMZMexi0 cIozthitVTGxuiemAkM2F7+iCzs7btOTss+LkuSDSODLXb7vNw6Zx2UsZHKsM14fPAzG GK4Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=k1b0oNdy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id nb37-20020a1709071ca500b00715849159c7si922911ejc.56.2022.07.20.02.16.26; Wed, 20 Jul 2022 02:16:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=k1b0oNdy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231363AbiGTI5l (ORCPT + 99 others); Wed, 20 Jul 2022 04:57:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33316 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229478AbiGTI5j (ORCPT ); Wed, 20 Jul 2022 04:57:39 -0400 Received: from mail-yb1-xb34.google.com (mail-yb1-xb34.google.com [IPv6:2607:f8b0:4864:20::b34]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A4E656B26E for ; Wed, 20 Jul 2022 01:57:38 -0700 (PDT) Received: by mail-yb1-xb34.google.com with SMTP id c131so30330705ybf.9 for ; Wed, 20 Jul 2022 01:57:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=1pCmF+7gOKupa+PsFrKqJcnPGIHHy1V9PA29ImLA4kE=; b=k1b0oNdyAPyKppu26soAvwI1DTLaUOuzVZL1OJUREWpzg99kCQHlJ3mGB9+fRSdKZ2 WgGeggybcfpJ5PsclC9OLSHyK2Mi14seCCJCYwYfZ/u1KPOT8ce9WtFHpPCxDLEx6pI9 Vxwz3xWWl//RNMDhU9pPggpBqUGAVUimQs1YzaDeGwiXEdotfA8mZx3k+0hyPeOHyVZb vNVcZnbsn9V+5bB7N9eEnmYEsxd1NLGVh67+0SmMELw0OSbuQQSu1leVLC+QVk8NuxlU tpmrh+pZlnKtk5miszbWS9lR9ycJYLLsVGuZ/tJ8CTyAZOOO5+IqLIPCMwHhSCZZ6ogf CdMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=1pCmF+7gOKupa+PsFrKqJcnPGIHHy1V9PA29ImLA4kE=; b=No8kDZys/nqKTDJj7NhQEXYSntMU3p4TjTxsIteLIM0nw6bVqhFrXuly+6Ws+w60uC pVJIydPdCXMxRXW1NSJrCK/LRifdAPWW6w4cSJ6cUe7gYp38pjIPVfSpnlW+yNucyZD7 CJhlPag/ifDJzhm1LJEONJINYg+KDhPhld3nb7h5PquG1O/lKCJw+bcJwSTyMCIoX4S2 +XR2G6IEZ/8mMxNDDWu36iKG6tRwdORa5PJdM7uWYKDBSRKSt3EGkkLYjFfXvThaPEXV gmOBDVWb+IAD+voUp2pIlXwlFP1eMRsNgyt4wZeV5k4rSiovc5gddiXwzkt8lrs+zBui q08Q== X-Gm-Message-State: AJIora/tFQIZ9wPDnODOS+Bi3ZO9aQffXRjev20d8SBaJJ7XVWu1vHh4 v4mUfSv5bF+hp4HMY4MZh+xfVWNDU9RPWH3NkVMn89K51Sg= X-Received: by 2002:a25:6847:0:b0:66e:b676:834c with SMTP id d68-20020a256847000000b0066eb676834cmr35990047ybc.5.1658307457762; Wed, 20 Jul 2022 01:57:37 -0700 (PDT) MIME-Version: 1.0 References: <20220712231328.5294-6-kirill.shutemov@linux.intel.com> <20220713150200.17080-1-kirill.shutemov@linux.intel.com> In-Reply-To: <20220713150200.17080-1-kirill.shutemov@linux.intel.com> From: Alexander Potapenko Date: Wed, 20 Jul 2022 10:57:01 +0200 Message-ID: Subject: Re: [PATCHv5.1 04/13] x86/mm: Handle LAM on context switch To: "Kirill A. Shutemov" Cc: Andi Kleen , Andrey Konovalov , Dave Hansen , Dmitriy Vyukov , "H.J. Lu" , Kostya Serebryany , LKML , Linux Memory Management List , Andy Lutomirski , Peter Zijlstra , Rick Edgecombe , Andrey Ryabinin , Taras Madan , "the arch/x86 maintainers" Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > /* > @@ -491,6 +493,8 @@ void switch_mm_irqs_off(struct mm_struct *prev, struct mm_struct *next, > { > struct mm_struct *real_prev = this_cpu_read(cpu_tlbstate.loaded_mm); > u16 prev_asid = this_cpu_read(cpu_tlbstate.loaded_mm_asid); > + unsigned long prev_lam = tlbstate_lam_cr3_mask(); Note: this variable is never used if CONFIG_DEBUG_VM is off. > #ifdef CONFIG_DEBUG_VM > - if (WARN_ON_ONCE(__read_cr3() != build_cr3(real_prev->pgd, prev_asid))) { > + if (WARN_ON_ONCE(__read_cr3() != build_cr3(real_prev->pgd, prev_asid, prev_lam))) { > /* > * If we were to BUG here, we'd be very likely to kill > * the system so hard that we don't see the call trace.