From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id EFC80C433EF for ; Wed, 20 Jul 2022 12:38:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 663636B0072; Wed, 20 Jul 2022 08:38:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 613166B0073; Wed, 20 Jul 2022 08:38:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5021D6B0074; Wed, 20 Jul 2022 08:38:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 421836B0072 for ; Wed, 20 Jul 2022 08:38:30 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 10040160236 for ; Wed, 20 Jul 2022 12:38:30 +0000 (UTC) X-FDA: 79707431580.24.E28F6CE Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by imf27.hostedemail.com (Postfix) with ESMTP id B13184001A for ; Wed, 20 Jul 2022 12:38:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1658320708; x=1689856708; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=rAu6jpHhECuVsZhliLNHW/MdjQNLrwdQjmE6gnDMnzM=; b=nn4H4MlxjT0lWxnhnnNxrEEWeARncLXtQQCFdpTvjwrby9FMHv0ylrZL HD2UEIG/4bmaCVaD2Hu7sdwDORD+MUNjkLb9s9gNl0M92Bhg1M3wvWg/z XeOY80NsTImaZeBv+ZAbciiSDpnjTm7fptbZLwnixhz2GOdynfWquaS2p Qa0N8GML7bkUxpnhUYGyXayhr+TOFuz2DixRvyvAhsF+PcFSnKX9/iXpb 54ktkuxniRfbgg2Qx9XNTx913kmRZwaIfvdQg+iUUlQmbCLv6y9qYc/S1 ZBoJRMgJeRqtdJz2w7K4tfOdZBvuLEE8D426HMvie1hw4i7Uihj6tvk3l g==; X-IronPort-AV: E=McAfee;i="6400,9594,10413"; a="373065393" X-IronPort-AV: E=Sophos;i="5.92,286,1650956400"; d="scan'208";a="373065393" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jul 2022 05:38:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,286,1650956400"; d="scan'208";a="740273645" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 20 Jul 2022 05:38:22 -0700 Received: by black.fi.intel.com (Postfix, from userid 1000) id E8798199; Wed, 20 Jul 2022 15:38:31 +0300 (EEST) Date: Wed, 20 Jul 2022 15:38:31 +0300 From: "Kirill A. Shutemov" To: Alexander Potapenko 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 Subject: Re: [PATCHv5.1 04/13] x86/mm: Handle LAM on context switch Message-ID: <20220720123831.ebftged5jjpw3mfy@black.fi.intel.com> References: <20220712231328.5294-6-kirill.shutemov@linux.intel.com> <20220713150200.17080-1-kirill.shutemov@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1658320709; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=yJk3cvlBh3dNB8G+Y4AEfUOhu7b64XXNmkI0nqw2WHI=; b=CnDT6mTg/g+eNmkLuFWCyFmfEAhwXyH9SLJIWRTgibvd6T0ZA3pe9HnpF4gcN0Sr88TQz5 OIq5NAY7NmNhZCZH6chZP2FA+NQk4dBaTZIfBUW/wfz82PEtaQbehIcIa8rtUb/AttDCVq TIDQAP+fCPk32JXGoRtiPnw+5EpsYhI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1658320709; a=rsa-sha256; cv=none; b=eCirXG/qwdqAKWxuwJY1IKD7tpt4shiYRQqjydOcAHknXup9Sv7F4QGyniEWFPGqytzSxH UOfR/nobfP9ttRoTzu7swOdZ532I70pd9WvwIifsCo6BR8xVwUKDIsvYaPBtlWCkaXFQrR Lr9RNudgR7DcwBBrGHc+u9UXR8i/w5s= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=nn4H4Mlx; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf27.hostedemail.com: domain of kirill.shutemov@linux.intel.com has no SPF policy when checking 192.55.52.43) smtp.mailfrom=kirill.shutemov@linux.intel.com X-Rspamd-Queue-Id: B13184001A Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=nn4H4Mlx; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf27.hostedemail.com: domain of kirill.shutemov@linux.intel.com has no SPF policy when checking 192.55.52.43) smtp.mailfrom=kirill.shutemov@linux.intel.com X-Rspamd-Server: rspam12 X-Rspam-User: X-Stat-Signature: 43a564hu4hfhdqrahhb9tqog7jptj444 X-HE-Tag: 1658320708-520891 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Wed, Jul 20, 2022 at 10:57:01AM +0200, Alexander Potapenko wrote: > > /* > > @@ -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. Good point. I will add this: diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c index 4c93f87a8928..5e9ed9f55c36 100644 --- a/arch/x86/mm/tlb.c +++ b/arch/x86/mm/tlb.c @@ -558,6 +558,7 @@ void switch_mm_irqs_off(struct mm_struct *prev, struct mm_struct *next, if (real_prev == next) { VM_WARN_ON(this_cpu_read(cpu_tlbstate.ctxs[prev_asid].ctx_id) != next->context.ctx_id); + VM_WARN_ON(prev_lam != new_lam); /* * Even in lazy TLB mode, the CPU should stay set in the -- Kirill A. Shutemov