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 DE107CD128A for ; Mon, 8 Apr 2024 11:45:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D83D86B0082; Mon, 8 Apr 2024 07:45:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D32CE6B0083; Mon, 8 Apr 2024 07:45:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C216A6B0085; Mon, 8 Apr 2024 07:45:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id A91D46B0082 for ; Mon, 8 Apr 2024 07:45:28 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 2C5ED809FD for ; Mon, 8 Apr 2024 11:45:28 +0000 (UTC) X-FDA: 81986184336.29.041CB7B Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by imf08.hostedemail.com (Postfix) with ESMTP id 0DF79160009 for ; Mon, 8 Apr 2024 11:45:24 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=ellerman.id.au header.s=201909 header.b=h0ErTczH; dmarc=none; spf=pass (imf08.hostedemail.com: domain of mpe@ellerman.id.au designates 150.107.74.76 as permitted sender) smtp.mailfrom=mpe@ellerman.id.au ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712576725; a=rsa-sha256; cv=none; b=PVKXgDC7kDPtsTZmLHR1VYfHBstci24IM4hOpGGyO0wehsOszGwtMQcCYcLXGRc6LK1YJk 3J8NymVar9mISA0ColuxsW6q2cKlRqL9PumPh0MMQ7LuuLk7UKgzSGKmEuj+XU8lqHIZLN wk9w0+0ACl9h29fPtYJ/xYCXpFae4bk= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=ellerman.id.au header.s=201909 header.b=h0ErTczH; dmarc=none; spf=pass (imf08.hostedemail.com: domain of mpe@ellerman.id.au designates 150.107.74.76 as permitted sender) smtp.mailfrom=mpe@ellerman.id.au ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712576725; 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=taqzyuzUm+h1dAr9up1EmBlmxQ7Pw3TT7Dqle3r+vfk=; b=sO36hjRsOk9tSEinfSORXmNFyXdOy59RVeuYWHcm/6cFb2D8OWNGe3JLK2usajnXGSDXPw UkLr0mWPsuidWuB9Kbl5k0ARPCEDtSri0DcNb8ivRxBwn08TaoY8H/pojI4faXawi5XY9s ZztMqs3Im9h6zuL7aQstrWJn8thM+kc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ellerman.id.au; s=201909; t=1712576721; bh=taqzyuzUm+h1dAr9up1EmBlmxQ7Pw3TT7Dqle3r+vfk=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=h0ErTczH+J8eOKMVXpItrHYKRUMh+pxxcV6/0CoHG40VtMk6SjHBicTMij8g0QPcl DqWHMNnSfi+fwP5HiCdifsYmHpkp4Xn+DbOgdxU7qWixZBXfw3jqmo2Mf9TSyh+dfR 6VbzGd3EpRZksCPRiEZyrpuPnkVP77GEek1dnGxxPTCQfwlANrE42GRZMWo8lTHAps +9qTuFxiU3mHHBuAnio0EBxVUDdvEu22B/D31hrzTZyHyg754PmZ251qNdGHU6OTRk 8cDtgXORRLDOqu5a0FunAuYei0U3LrNTqxk35BBWQCXaFVALq9JB3md16kAgiWqViN 5wPghIA4bJBwA== Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 4VCnMf3rffz4wcF; Mon, 8 Apr 2024 21:45:18 +1000 (AEST) From: Michael Ellerman To: Paolo Bonzini , linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: Marc Zyngier , Oliver Upton , Tianrui Zhao , Bibo Mao , Thomas Bogendoerfer , Nicholas Piggin , Anup Patel , Atish Patra , Sean Christopherson , Andrew Morton , David Hildenbrand , linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, loongarch@lists.linux.dev, linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, kvm-riscv@lists.infradead.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org Subject: Re: [PATCH 1/4] KVM: delete .change_pte MMU notifier callback In-Reply-To: <20240405115815.3226315-2-pbonzini@redhat.com> References: <20240405115815.3226315-1-pbonzini@redhat.com> <20240405115815.3226315-2-pbonzini@redhat.com> Date: Mon, 08 Apr 2024 21:45:18 +1000 Message-ID: <87h6gcaxip.fsf@mail.lhotse> MIME-Version: 1.0 Content-Type: text/plain X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 0DF79160009 X-Stat-Signature: ifpqet3scfnswek7gbs8o6uo4748ffn9 X-HE-Tag: 1712576724-321706 X-HE-Meta: U2FsdGVkX1+kmq9QLr1ElSi2jx0plcBcZFD31eRWtF4cYnohAT1kDdNiy1DbIrOf1V5pNH930y3zF/mJPgmvJffP7rcU5d4zlIOCOEgmMOIYRnwmB9pjufiJjCPZIDNKIDrHpRN/Xrp3K2I+WkJPxF4LorOqsIcaeg/99VMa1X8EoTzzNzS7JipwQ6HjrL8kel2ZYpLq45pTe2SdiXqgktd8d6Vkw5IdlLoVDbR+krLJ9ldLrcqHiLNrBF+ph7wccOI7sPqIj8mVyXIN90euUsWkCP32iZ2JYquw+TmjwDUIZCSJg7uGmGFbeEiHtfR2zZ7eAjIY9YrbjBvHILM7TqmKGBA5in62pamoytjpRC5c0XifVm+J5+aXWwfuGEAw4S3rSZJjzrFmxk9k573IvvAHZCIpaKB0Dl6tCeZR18mXmnNKAveXRm3xcb9rzAQLvyrubyrDfX55eaYOkYm7zL1TpjpwCbDQxZkGE7QKqMYtZ3hbxGjNkA8cgY0wmLIbj4tU2dRD14leqmF3i8SHcTgIVnDg+WAZ7ZWBg7TJ7RIBOevIsx7lC+dt3QgsfzSSP0ZhneHtGwwinrvI9koMsbX0I4MvAEw3+T9mxXqpZLUTLpHGBUeQ2R3V8qcMWVsuZRQuXD73X8fCdJ5Lmk1P+1OPclrJ+CADtAsPxjCVAEXi/YVJ6jXwoOna2DfNeneY45+e6dXnxAxg6pzs4S8k2pt5kaXXaAUirCgBMXjIUOKjsa6QQLCV9/Ws6swF5wcs4lNtsAtr11j/4pHAfB+PvJVCd02IVE/KRu0+ECa1Snwj+CyvnYC5QvGnvT04HMSq0I5bfiuQopL26a8DK4lZAwM/G6UZphwuCLcj5ngPUPal2NlidcYKjwte6tdcC9uk 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: List-Subscribe: List-Unsubscribe: Paolo Bonzini writes: > The .change_pte() MMU notifier callback was intended as an > optimization. The original point of it was that KSM could tell KVM to flip > its secondary PTE to a new location without having to first zap it. At > the time there was also an .invalidate_page() callback; both of them were > *not* bracketed by calls to mmu_notifier_invalidate_range_{start,end}(), > and .invalidate_page() also doubled as a fallback implementation of > .change_pte(). > > Later on, however, both callbacks were changed to occur within an > invalidate_range_start/end() block. > > In the case of .change_pte(), commit 6bdb913f0a70 ("mm: wrap calls to > set_pte_at_notify with invalidate_range_start and invalidate_range_end", > 2012-10-09) did so to remove the fallback from .invalidate_page() to > .change_pte() and allow sleepable .invalidate_page() hooks. > > This however made KVM's usage of the .change_pte() callback completely > moot, because KVM unmaps the sPTEs during .invalidate_range_start() > and therefore .change_pte() has no hope of finding a sPTE to change. > Drop the generic KVM code that dispatches to kvm_set_spte_gfn(), as > well as all the architecture specific implementations. > > Signed-off-by: Paolo Bonzini > --- > arch/arm64/kvm/mmu.c | 34 ----------------- > arch/loongarch/include/asm/kvm_host.h | 1 - > arch/loongarch/kvm/mmu.c | 32 ---------------- > arch/mips/kvm/mmu.c | 30 --------------- > arch/powerpc/include/asm/kvm_ppc.h | 1 - > arch/powerpc/kvm/book3s.c | 5 --- > arch/powerpc/kvm/book3s.h | 1 - > arch/powerpc/kvm/book3s_64_mmu_hv.c | 12 ------ > arch/powerpc/kvm/book3s_hv.c | 1 - > arch/powerpc/kvm/book3s_pr.c | 7 ---- > arch/powerpc/kvm/e500_mmu_host.c | 6 --- LGTM. Acked-by: Michael Ellerman (powerpc) cheers