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 83669C43334 for ; Tue, 19 Jul 2022 16:14:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B260D6B0071; Tue, 19 Jul 2022 12:14:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AD74D6B0073; Tue, 19 Jul 2022 12:14:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9EBEA6B0074; Tue, 19 Jul 2022 12:14:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 907CE6B0071 for ; Tue, 19 Jul 2022 12:14:33 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 6128B80129 for ; Tue, 19 Jul 2022 16:14:33 +0000 (UTC) X-FDA: 79704347226.08.0C94F0F Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by imf26.hostedemail.com (Postfix) with ESMTP id B4F2D14007B for ; Tue, 19 Jul 2022 16:14:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1658247272; x=1689783272; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=Ya8p/XqEQDXif9q0doVi81vKSiS2nfdwL0eQcA7VleQ=; b=QjKjVlQDCIUKQm39MmEqxZG6jXFqO5ivb6YiNz4b/CzRwwEmQuTk8ban 4x8cz6Xbvk1uOqeolb/5msnVnT5sfA3rbR6jEV4fQuTZ5dfYj2fi30/aI 2HeDJRR3v7R16mccNd8Om+YtrAErZ0Gc68agkys2Yiv/eYLMb3wvDSeax HRVo1WoVU/iuuncUvkjfTzHvz8lx+xX6SOM+y2LgnfdDZ39WvfhxCMHRZ 8hHvH6wY/zdHWT56DV8VRcmHjyHorfdUHqA7HoWZh28t9HenpU9+lselx QZg+mfWuit/ZwkTSeVbQEWvUhKnyBwyA7ZyeVNqGVTOuQIOxNZRvQYZG1 Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10413"; a="266310652" X-IronPort-AV: E=Sophos;i="5.92,284,1650956400"; d="scan'208";a="266310652" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jul 2022 09:13:30 -0700 X-IronPort-AV: E=Sophos;i="5.92,284,1650956400"; d="scan'208";a="572910114" Received: from twliston-mobl1.amr.corp.intel.com (HELO [10.212.132.190]) ([10.212.132.190]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jul 2022 09:13:23 -0700 Message-ID: <1648fbf5-0659-b480-1725-8a30eba51974@intel.com> Date: Tue, 19 Jul 2022 09:13:23 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH v2] x86/mm/tlb: ignore f->new_tlb_gen when zero Content-Language: en-US To: Nadav Amit , linux-kernel@vger.kernel.org, Hugh Dickins , Thomas Gleixner , Dave Hansen Cc: Ingo Molnar , Borislav Petkov , x86@kernel.org, Linux MM , Nadav Amit , Peter Zijlstra , Andy Lutomirski References: <20220710232837.3618-1-namit@vmware.com> From: Dave Hansen In-Reply-To: <20220710232837.3618-1-namit@vmware.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1658247272; a=rsa-sha256; cv=none; b=KwRQBldLYftdA6eWH4Zxo/NfbbkqMqFApyQlSoIEN4jNGeux1ujKpGD527xmSJrjqTx5Rc r1hEtvWqSP9Hvd2/j8hUwxyZpmxscCF25Go1S2Hrl5OJ6j7VltjXv83bb9aXGdRg62+Crf gytu6+xntGBfl15WMAcuYJSJSD9ytLo= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=QjKjVlQD; spf=none (imf26.hostedemail.com: domain of dave.hansen@intel.com has no SPF policy when checking 192.55.52.136) smtp.mailfrom=dave.hansen@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1658247272; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=KeEjwFpfwiyxVrReOiHCfPD3Bpik8UXsuFCoKNH0Wfk=; b=1waWsPNCQlZSXIJ9d3f+BofGUaVk2k7YBi1ESrDlNSoLb6+L7uss8QdPejgwX0jIF/vI0d 1MEfrHYoumUXJ0fdu0/IXLIEOiEYL86w5kvz5Fr9wsZ2KiL5RWVQcmaWLPMCbf3lT4tfew mwWZoEjZ7QMkEjx1WYZi3nRGo2uIjmU= X-Stat-Signature: dkh584yswjbwemptdgfrh3phq8u6otnh X-Rspamd-Queue-Id: B4F2D14007B Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=QjKjVlQD; spf=none (imf26.hostedemail.com: domain of dave.hansen@intel.com has no SPF policy when checking 192.55.52.136) smtp.mailfrom=dave.hansen@intel.com; dmarc=pass (policy=none) header.from=intel.com X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1658247271-298408 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 7/10/22 16:28, Nadav Amit wrote: > From: Nadav Amit > > Commit aa44284960d5 ("x86/mm/tlb: Avoid reading mm_tlb_gen when > possible") introduced an optimization of skipping the flush if the TLB > generation that is flushed (as provided in flush_tlb_info) was already > flushed. > > However, arch_tlbbatch_flush() does not provide any generation in > flush_tlb_info. As a result, try_to_unmap_one() would not perform any > TLB flushes. > > Fix it by checking whether f->new_tlb_gen is nonzero. Zero value is > anyhow is an invalid generation value. To avoid future confusions, > introduce TLB_GENERATION_INVALID constant and use it properly. Add some > assertions to check no partial flushes are done with > TLB_GENERATION_INVALID or when f->mm is NULL, since this does not make > any sense. > > In addition, add the missing unlikely(). I've applied this: > https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=x86/mm&id=8f1d56f64f8d6b80dea2d1978d10071132a695c5 Please double-check that my rewording of the commit message looks good to you. I also replaced the VM_BUG_ON()'s with warnings. Screwing up TLB flushing isn't great, but it's also not worth killing the system.