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 9DA96C05027 for ; Fri, 17 Feb 2023 09:00:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0F7DE6B007B; Fri, 17 Feb 2023 04:00:28 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0A9556B0080; Fri, 17 Feb 2023 04:00:28 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EB3B56B0081; Fri, 17 Feb 2023 04:00:27 -0500 (EST) 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 DC3016B007B for ; Fri, 17 Feb 2023 04:00:27 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id AF94DC0BAD for ; Fri, 17 Feb 2023 09:00:27 +0000 (UTC) X-FDA: 80476187694.29.E9139AC Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf14.hostedemail.com (Postfix) with ESMTP id C3030100002 for ; Fri, 17 Feb 2023 09:00:24 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=UrRRzjSW; spf=pass (imf14.hostedemail.com: domain of maz@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=maz@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676624424; 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=wJMnFByWqqB7fjzNx1NCwTVSMg0lcgran3UsHDtguBc=; b=S7opGSId04wVbYGa+DYo/nxMYx2pB/P0tyGR1tJ3Qfmka0BLIXJElx1F6XuOHbRyeqLb+Q NuvJDT72fKMrqpMSUBT05GK/AvrAt9x6vBFq740ouVY4lgFW4v2VG52xQJFpLhIfaHrbS0 C4UJh8x5GRvxTrgGHVdzVBFrK6bM0s8= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=UrRRzjSW; spf=pass (imf14.hostedemail.com: domain of maz@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=maz@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676624424; a=rsa-sha256; cv=none; b=H+jem5JZOdZYJ/vMPnpNS3qmFuo04jRohEbD5023Er1EYFRsH3WLmbXKj4ffC245fFYwis tKwrgj4s4C2yMAfzi6PWfJqwvGzXqOCFLbNKhATr+XSRxgi7M63saaLcNQkYkyvviGokRW AL2SRsOjQsl23EhZwCXwIBJ4EZs2xDw= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id A1D8E61775; Fri, 17 Feb 2023 09:00:23 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0DF3BC433EF; Fri, 17 Feb 2023 09:00:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1676624423; bh=/M8E6UXtog3I9+Nq+vepn1BAbm221JZaB3zuaIOAfBw=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=UrRRzjSW5RZSxjE7udCaDppBAjGA8QElTfkm44pDXR6YTn4hTq5XhgI6TGnvDV8Zx QlwQxJzDx7hETqpkGqOMj9h1+d0ku5KcynkLk9Xos3ESU0+U4aapl57MgaTjde/Nm9 1FAilIeTN0wVKBXAlkoOGeu3SJ4D30fghRNCSK8UGW8fiPmwvAvKB2Odzhfl88BkWD msDP74Fyk8lUq1UB2OgRDz8ZLhTwlt8IuEIk97BzkRk/cZk3LSZE7zrtJuJgdI+N0Y 5oUG0tJboW+MHfBM9Zn6y49rSdQRyOkQpbSp6X46PtXx2cY/TSuRs2NNN8ARrqf3M6 ldIBWr7kdvzxA== Received: from sofa.misterjones.org ([185.219.108.64] helo=goblin-girl.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1pSwbM-00B8pV-Lt; Fri, 17 Feb 2023 09:00:20 +0000 Date: Fri, 17 Feb 2023 09:00:20 +0000 Message-ID: <86lekwy8d7.wl-maz@kernel.org> From: Marc Zyngier To: Yu Zhao Cc: Will Deacon , Jonathan Corbet , Michael Larabel , kvmarm@lists.linux.dev, kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, x86@kernel.org, linux-mm@google.com, Andrew Morton , Paolo Bonzini Subject: Re: [PATCH mm-unstable v1 3/5] kvm/arm64: add kvm_arch_test_clear_young() In-Reply-To: References: <20230217041230.2417228-1-yuzhao@google.com> <20230217041230.2417228-4-yuzhao@google.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/28.2 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: yuzhao@google.com, will@kernel.org, corbet@lwn.net, michael@michaellarabel.com, kvmarm@lists.linux.dev, kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, x86@kernel.org, linux-mm@google.com, akpm@linux-foundation.org, pbonzini@redhat.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: C3030100002 X-Rspam-User: X-Stat-Signature: zixt6fbu15f387nj6hkopiujoq16unk1 X-HE-Tag: 1676624424-637089 X-HE-Meta: U2FsdGVkX1+Y/yfhzxwrf6h7TxZKbNh3f+SvPfbji29yIuqwnFd9aj1nExbDk9MtLDV94nkLVK+KDx3aqFVa68yZB4yBpnH7A6HDejgs7RJBgpeuX+ybN+q0nxLOpvHEmJNWf8GolaR6sAqzg7+yRRFO6hGOgJJKwBB0eIR5qS/ZGWRPN6mCpg+n7+pJQY/ja0wgs0Gyg8wsU8ezdDoexk5G/Oa8Of+z4cSV4gu+x9xReF8mQWTKYO/MEwMelhjEjpP17yVhFAmhqC96jWRTpkn3NW9GLkXEtgQ8jhwqEicWMykT5znb1wFJgQ2Qa7fAVfgSCCA1B+LDUXbjbjYQybXWwBPvs+3JMZliVXTFh61DymEb/JSDVonBmO/7bdD/IlW34Tbw4oxLx+aqXM/ORl2cAEkEyHdw77P8qrc+Da7pLPOXpjkCE3MqZqLfOb+/NIj3JoFT8q/5X+thlUxgXnBaberW82aP8Bs5wCkJxXB1pOX3bXAOCmbHZExiIZvXzuv4djp3btE9H04EQKrd2E/lpy5Cp0K3tBNFz/N2b+kpsOLDG5w6C5oLQHQCMf2wda38TCNWcTKlalyfGsRPHfU9BU0dr4qzSCnm7b3lsnlc1B4GKhJLTJ4Gkk1zcBmHnaDU2S5G3TpA9j4sc6BgVCVg8MU4pkBuUdcjPWHgm9rDyairdTUxammz75TpCWpiKlk4mVwpJBwLTqRVPJRfams4N1LLCRJXv1AW/i1hTcCBcSSo+mEznYkTMnEVMTNFlpXI//2nztd7O9hkDQIOSXZkDk2iFyjIGEyCC85oR4bBp7LLoRa5fZ65j/4SRJXvPsoZvXLLjAyXVd8KXJcJJEP2AZLSW1jhQxVe23v/Mp8SwHBAlQYaveRdddZrpFf0TSl+J5mQzQo/86jEsGk0JthVOI+j9CgU/FC+L9K4suITlY3trEHq1YUnwUBn4DVaMpaA08HTAUgAr4he+Q4 W6bTl5bZ BOKvU3mhZCAFxY8dOEaJFTJFcZOLCQwt8JPwavQWBwGrheTJAxzNfFCtehGqewSeHcKkzW+L0A8EM5xVBXxqKFBpyrFryjRI3vlCBFBOW1bW2BbMdDWeRRcGfhrtUiZIF7Eo8YrwEcva+sYooWwdML+DPfvO5P7t+yRvbkoa4IEK/WTuR495hDu/e8HCIL8hAdsEJS5ZrBem0N69nuYw+Nhg5NJyAzBCgIlZ0tkhhGvk2e5eNBW8E8iIHxK3JI7joFl2m09x1qWpXJN08O6P/QU/U2WMGFLhr3sFhryKufjGYkssRFngkASn7MG/y+ddL3Ec+zqJqDiBT0nv2NSxYl2dv5sqGgCkMeerLVJlNBFjKK8SktSINKeTXGubSHYQqUlQfXj874pDGCXQQug6lwwA6fhz1dEBPm/SnOB1Pqoj7A/lG/00kqSPDjr+wzcPqK4rmJ4u3e54OgIQnQimu/Lkkr/33+QelbgNdNwTYs8oCoB+ZcOiDPzyibaE6ebrNCYbBwD+NkJYvmAI= 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 Fri, 17 Feb 2023 04:21:28 +0000, Yu Zhao wrote: > > On Thu, Feb 16, 2023 at 9:12 PM Yu Zhao wrote: > > > > This patch adds kvm_arch_test_clear_young() for the vast majority of > > VMs that are not pKVM and run on hardware that sets the accessed bit > > in KVM page tables. I'm really interested in how you can back this statement. 90% of the HW I have access to is not FEAT_HWAFDB capable, either because it predates the feature or because the feature is too buggy to be useful. Do you have numbers? > > > > It relies on two techniques, RCU and cmpxchg, to safely test and clear > > the accessed bit without taking the MMU lock. The former protects KVM > > page tables from being freed while the latter clears the accessed bit > > atomically against both the hardware and other software page table > > walkers. > > > > Signed-off-by: Yu Zhao > > --- > > arch/arm64/include/asm/kvm_host.h | 7 +++ > > arch/arm64/include/asm/kvm_pgtable.h | 8 +++ > > arch/arm64/include/asm/stage2_pgtable.h | 43 ++++++++++++++ > > arch/arm64/kvm/arm.c | 1 + > > arch/arm64/kvm/hyp/pgtable.c | 51 ++-------------- > > arch/arm64/kvm/mmu.c | 77 ++++++++++++++++++++++++- > > 6 files changed, 141 insertions(+), 46 deletions(-) > > Adding Marc and Will. > > Can you please add other interested parties that I've missed? The MAINTAINERS file has it all: KERNEL VIRTUAL MACHINE FOR ARM64 (KVM/arm64) M: Marc Zyngier M: Oliver Upton R: James Morse R: Suzuki K Poulose R: Zenghui Yu L: kvmarm@lists.linux.dev May I suggest that you repost your patch and Cc the interested parties yourself? I guess most folks will want to see this in context, and not as a random, isolated change with no rationale. M. -- Without deviation from the norm, progress is not possible.