From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Christopherson Date: Wed, 29 May 2024 14:55:46 -0700 Subject: [PATCH v4 4/7] KVM: Move MMU lock acquisition for test/clear_young to architecture In-Reply-To: <20240529180510.2295118-5-jthoughton@google.com> References: <20240529180510.2295118-1-jthoughton@google.com> <20240529180510.2295118-5-jthoughton@google.com> Message-ID: List-Id: To: kvm-riscv@lists.infradead.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit On Wed, May 29, 2024, James Houghton wrote: > For implementation mmu_notifier_{test,clear}_young, the KVM memslot > walker used to take the MMU lock for us. Now make the architectures > take it themselves. Hmm, *forcing* architectures to take mmu_lock is a step backwards. Rather than add all of this churn, what about adding CONFIG_KVM_MMU_NOTIFIER_LOCKLESS, e.g. static __always_inline int kvm_handle_hva_range_no_flush(struct mmu_notifier *mn, unsigned long start, unsigned long end, gfn_handler_t handler) { struct kvm *kvm = mmu_notifier_to_kvm(mn); const struct kvm_mmu_notifier_range range = { .start = start, .end = end, .handler = handler, .on_lock = (void *)kvm_null_fn, .flush_on_ret = false, .may_block = false, .lockless = IS_ENABLED(CONFIG_KVM_MMU_NOTIFIER_LOCKLESS), }; return __kvm_handle_hva_range(kvm, &range).ret; } From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f201.google.com (mail-pg1-f201.google.com [209.85.215.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4C0B61C9EAE for ; Wed, 29 May 2024 21:55:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717019750; cv=none; b=UUBq6c5nnfG+YssUEHOj/Cco8hN9sz9XP0wLoBaCE8pW5n7ju5y28NpVE0z0s3axcjwwMbf0rOEPtETAfxHFrED3npe6LLwzhd1C8fYnMkzhQGpIdYV4nnqkW0ju1CBuwxJUpUGPuLC1eWo3IbIJEvK5uCoKCUW/L2+mdMtO8LA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717019750; c=relaxed/simple; bh=UNxJLMGZl1gnRZO6sW+znZ/L8AD9EkiPEE3WJ3MdUgk=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=Spz1CJMydRLAbREuG8QYLGXF5EBASqSmF8HKi3A65cKp2VSbWhkajb2xGDZPmLCvl0mubv7+jsnGVttoKwkXzLvWO0Zx6AhcBiVzh7Nu9ZU5IuTwLl8htJa/a+jpLU3QW0hYtmazGe8cIHEcbvVtVehkKDo+d/VtPv+xCLlNuL0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=pJth+Kmp; arc=none smtp.client-ip=209.85.215.201 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="pJth+Kmp" Received: by mail-pg1-f201.google.com with SMTP id 41be03b00d2f7-6bfe9914116so73942a12.3 for ; Wed, 29 May 2024 14:55:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1717019749; x=1717624549; darn=lists.linux.dev; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=R0O8RdWVLc2UjPDSDGViR160MauFo82inRxl7GpP6bk=; b=pJth+Kmp9Tp18EHtlFFtj9Vg26ksnJp8UWVXGmqWTLNvuZRJ9Vrvh/SNyg7nZvlV7t xSxrLkORn7xB9zGOXTbk05++t7LE9++KvgMYLW+dPndLFo4kJC98GkmC8taUhIlXn8WB zrmiwhLz2Quk5twwSmd7I2Pp7hLZ2mENf8JGH9lRa/ciby1HyOFPbVB4q3gMHvzIgRyk 4C5DpVMLcAnT74O2Dh+3KGjUweXOG6Ry9aQJ/9NDr2RlLwUfvnfC+iCMWcGchrOHHSe3 HAMBdlTfEJuedtbrhnDu4p82mvazx4zppgNiZZYzXDFRqSO3jD+DZCKfAK20tXHqKWCI a7mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717019749; x=1717624549; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=R0O8RdWVLc2UjPDSDGViR160MauFo82inRxl7GpP6bk=; b=VFUsvKw4kB7k2audE+UwmE4DQp6Pa2Ry7E8ky14DSpdyciRXjDzNp6biF2JRd0Gk2y e2S9JXHynYsgGkmTtGkC4edFThOr+gLMnp+ImVP8PY2apJMq8iTItmBTb/g+byq+8Qq0 nKfedYzj+YwMYNZUuO7O/A6alwcMFcXnRoJOP6A8gvM6V+D7HG/IxpwKbwgS4YP6NxcK Aypa0zEjFNJJarSWPpVrH6vHf6h/A4E4oXT9Ia7pW4r/rwaqkXGJYBT1vsjWgWt2feF9 1bOaaiAJFKGpnpnaPacxVFOYzrGAeS4q5Bw8B8yavJfuB3pVETCJKzIqedZoG8UIF1ro qyhw== X-Forwarded-Encrypted: i=1; AJvYcCVZ8xpZSHV6NM4cHFNodRhPxVxZknzBKHuL5Ynkgj7pC9wo0HJSixHn3/OxhdG9eokET8AeVLc+c3inACbomA+7vFt1cmB0 X-Gm-Message-State: AOJu0Yyq58dmKQWKl6eZZSdwTOKDO0BAjOsRlzOM3fLscANk3NGs7a3o q8DqEVE7c4ZfKHcCe3BQ8Qvl3tEnqyBsFr0OMYTNp+P0wTAbbqGR5bBydRdn+Ye07NE9YtteS+P 9eA== X-Google-Smtp-Source: AGHT+IGx3SrykKCWRo4963j21qgI5u7l1D5l4vFz5cSTor42JO4rQICXW/WPSO9JICYG6TRZvTrpM8pyR8k= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a05:6a02:308:b0:65c:f515:1590 with SMTP id 41be03b00d2f7-6bfdaf2b2f6mr480a12.11.1717019747924; Wed, 29 May 2024 14:55:47 -0700 (PDT) Date: Wed, 29 May 2024 14:55:46 -0700 In-Reply-To: <20240529180510.2295118-5-jthoughton@google.com> Precedence: bulk X-Mailing-List: kvmarm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20240529180510.2295118-1-jthoughton@google.com> <20240529180510.2295118-5-jthoughton@google.com> Message-ID: Subject: Re: [PATCH v4 4/7] KVM: Move MMU lock acquisition for test/clear_young to architecture From: Sean Christopherson To: James Houghton Cc: Andrew Morton , Paolo Bonzini , Albert Ou , Ankit Agrawal , Anup Patel , Atish Patra , Axel Rasmussen , Bibo Mao , Catalin Marinas , David Matlack , David Rientjes , Huacai Chen , James Morse , Jonathan Corbet , Marc Zyngier , Michael Ellerman , Nicholas Piggin , Oliver Upton , Palmer Dabbelt , Paul Walmsley , Raghavendra Rao Ananta , Ryan Roberts , Shaoqin Huang , Shuah Khan , Suzuki K Poulose , Tianrui Zhao , Will Deacon , Yu Zhao , Zenghui Yu , kvm-riscv@lists.infradead.org, kvm@vger.kernel.org, kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, loongarch@lists.linux.dev Content-Type: text/plain; charset="us-ascii" On Wed, May 29, 2024, James Houghton wrote: > For implementation mmu_notifier_{test,clear}_young, the KVM memslot > walker used to take the MMU lock for us. Now make the architectures > take it themselves. Hmm, *forcing* architectures to take mmu_lock is a step backwards. Rather than add all of this churn, what about adding CONFIG_KVM_MMU_NOTIFIER_LOCKLESS, e.g. static __always_inline int kvm_handle_hva_range_no_flush(struct mmu_notifier *mn, unsigned long start, unsigned long end, gfn_handler_t handler) { struct kvm *kvm = mmu_notifier_to_kvm(mn); const struct kvm_mmu_notifier_range range = { .start = start, .end = end, .handler = handler, .on_lock = (void *)kvm_null_fn, .flush_on_ret = false, .may_block = false, .lockless = IS_ENABLED(CONFIG_KVM_MMU_NOTIFIER_LOCKLESS), }; return __kvm_handle_hva_range(kvm, &range).ret; } 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 443D4C25B75 for ; Wed, 29 May 2024 21:56:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID: References:Mime-Version:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=zjTk7guFFizfLZI3ywdjskpVOmcdu08+yBoMrQuI3Yk=; b=xZpuWeSYoEWE7Tp2c9j6ldsSZ7 g9t5+IZ+2LNCahyIY9+3wdlZ1eduGcHYTaAe/KLVUFHLPS3YGIqLwo84PVNvv+QtlyV3YfNGsuGe2 34gDZCDsH1zslYU+eE/DXyWvM1TMtl48oDAGOmpRxYYPaTL6Jmi6iXC8mAKqc42XPS2aqk6h7/Ezw C9vEx8KMcwkmpQ37RzF9DaxEd0OZDaiSUDDkZrClal2JypuZfvsINyvJUN7b81/h6dGgSvOhzGOxG VNwsR9803FRA+k6zUzFJokKk6GCdtXDdF7Y2n/wOdhQZ0UhFWHhOu2IcDbuAWYWbtULamwMNuKf/0 QlFkfGTQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sCRH1-00000005e2j-11dW; Wed, 29 May 2024 21:55:55 +0000 Received: from mail-pg1-x54a.google.com ([2607:f8b0:4864:20::54a]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sCRGx-00000005e0a-21wL for linux-riscv@lists.infradead.org; Wed, 29 May 2024 21:55:52 +0000 Received: by mail-pg1-x54a.google.com with SMTP id 41be03b00d2f7-66348aafadcso214484a12.1 for ; Wed, 29 May 2024 14:55:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1717019749; x=1717624549; darn=lists.infradead.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=R0O8RdWVLc2UjPDSDGViR160MauFo82inRxl7GpP6bk=; b=0zBxsdjGBWKf7TCVl9ikOXUBvH7Zyl+4K/7m/gRMbamtCx9xKdJpGmeWFpVfaj7Vqm x2H2rtMCiZVCwyCXIGrKBxTEf4WDIIYW5X6NOlh+nGvHEjkXRoY52siJVZCbQMEsL9lf VNdj81X9o7NWoOlX0TmGHq70jcgLCbT0kfn5S1GOC17uIijekPKpkfZHhN1czm5HGkdU PX7PsY+IVlPSiEcDYFvmnJs8aJUDBMbTP9Xzn/DNYQtAdoPJW6CYPwiIwDbIkYuonoQg vKbsZxPyf0WP/4OFUpqmH4pRVt2l+vQhTit+4ty/MzvXxvNlA9n/9eVEXFyZW7bQ2HML dvig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717019749; x=1717624549; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=R0O8RdWVLc2UjPDSDGViR160MauFo82inRxl7GpP6bk=; b=LQTRQCn/Eu5DxechVScyrBpoi+iih5V70ANCbQRoewqQ/lGgArHHfKHXvJT7X1JnXO 5LQb/ibsSvImPla/SvQGHhWccztXCV5WR0Now+D2PaSpXtOC0vgHdxnShX589hXvJs8p RwhkUme6M7K4jqV2mwqCe58So43MAwr5mwY45clLdhnC3dFl1E+y8aWSOnJYGu8gNvza oi4S4cgP1E2HpqucXvt163Dr50LKpoen8yGCGGsfAXzT/xcWJvY5eH7etLnsD8rCOc95 qJWTEraSt9jn0LJMl9HUmq22oUeMRcxO+sk/N6+ZUxfZ5ZGyaGe1sHUo9P8EHRFlhYyp gvbw== X-Forwarded-Encrypted: i=1; AJvYcCUcGPBSGPOGazFaqzsIwy83H/Naa6xxw0B72+4ob/5/3J9f7vxvWW+iE9qb21VqxzVBA86RH+YD5q1o5wJKjKVJ6kMWziq6+I7N8hEzzXuM X-Gm-Message-State: AOJu0YwBzMDc0zP4HLNyKWsx9IxtlKQe0mgYKsXVQpj5OhQjNEF5Zv5o +BO6FaTT698WVUnnRsixtdzfm1JKYfkXb/rWqXxZck0Fj8uL7odr3yvQXQz9tv/wCHHY2dF5zef jBA== X-Google-Smtp-Source: AGHT+IGx3SrykKCWRo4963j21qgI5u7l1D5l4vFz5cSTor42JO4rQICXW/WPSO9JICYG6TRZvTrpM8pyR8k= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a05:6a02:308:b0:65c:f515:1590 with SMTP id 41be03b00d2f7-6bfdaf2b2f6mr480a12.11.1717019747924; Wed, 29 May 2024 14:55:47 -0700 (PDT) Date: Wed, 29 May 2024 14:55:46 -0700 In-Reply-To: <20240529180510.2295118-5-jthoughton@google.com> Mime-Version: 1.0 References: <20240529180510.2295118-1-jthoughton@google.com> <20240529180510.2295118-5-jthoughton@google.com> Message-ID: Subject: Re: [PATCH v4 4/7] KVM: Move MMU lock acquisition for test/clear_young to architecture From: Sean Christopherson To: James Houghton Cc: Andrew Morton , Paolo Bonzini , Albert Ou , Ankit Agrawal , Anup Patel , Atish Patra , Axel Rasmussen , Bibo Mao , Catalin Marinas , David Matlack , David Rientjes , Huacai Chen , James Morse , Jonathan Corbet , Marc Zyngier , Michael Ellerman , Nicholas Piggin , Oliver Upton , Palmer Dabbelt , Paul Walmsley , Raghavendra Rao Ananta , Ryan Roberts , Shaoqin Huang , Shuah Khan , Suzuki K Poulose , Tianrui Zhao , Will Deacon , Yu Zhao , Zenghui Yu , kvm-riscv@lists.infradead.org, kvm@vger.kernel.org, kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, loongarch@lists.linux.dev X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240529_145551_547471_FAFB3AEC X-CRM114-Status: UNSURE ( 9.77 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org On Wed, May 29, 2024, James Houghton wrote: > For implementation mmu_notifier_{test,clear}_young, the KVM memslot > walker used to take the MMU lock for us. Now make the architectures > take it themselves. Hmm, *forcing* architectures to take mmu_lock is a step backwards. Rather than add all of this churn, what about adding CONFIG_KVM_MMU_NOTIFIER_LOCKLESS, e.g. static __always_inline int kvm_handle_hva_range_no_flush(struct mmu_notifier *mn, unsigned long start, unsigned long end, gfn_handler_t handler) { struct kvm *kvm = mmu_notifier_to_kvm(mn); const struct kvm_mmu_notifier_range range = { .start = start, .end = end, .handler = handler, .on_lock = (void *)kvm_null_fn, .flush_on_ret = false, .may_block = false, .lockless = IS_ENABLED(CONFIG_KVM_MMU_NOTIFIER_LOCKLESS), }; return __kvm_handle_hva_range(kvm, &range).ret; } _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv 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 lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3FDDCC25B75 for ; Wed, 29 May 2024 22:01:55 +0000 (UTC) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256 header.s=20230601 header.b=fPzXA+W3; dkim-atps=neutral Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4VqNWQ33qnz87ZM for ; Thu, 30 May 2024 07:56:34 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256 header.s=20230601 header.b=fPzXA+W3; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=flex--seanjc.bounces.google.com (client-ip=2607:f8b0:4864:20::54a; helo=mail-pg1-x54a.google.com; envelope-from=3y6rxzgykdeqykgtpimuumrk.iusrot03vvi-jk1royzy.u5rghy.uxm@flex--seanjc.bounces.google.com; receiver=lists.ozlabs.org) Received: from mail-pg1-x54a.google.com (mail-pg1-x54a.google.com [IPv6:2607:f8b0:4864:20::54a]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4VqNVZ27nFz7BLh for ; Thu, 30 May 2024 07:55:50 +1000 (AEST) Received: by mail-pg1-x54a.google.com with SMTP id 41be03b00d2f7-6bfe9914116so73941a12.3 for ; Wed, 29 May 2024 14:55:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1717019748; x=1717624548; darn=lists.ozlabs.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=R0O8RdWVLc2UjPDSDGViR160MauFo82inRxl7GpP6bk=; b=fPzXA+W3+cmI18hpSXlbWT3QLNoZVwaVgAOaZy7aGf23fTI7OcbcONlNpKzniLnBLw M5aK8vAgjRABsWZd0fHfwA1GVXxTFT7yjuAB26Ig6Jqtg7AuvkaQSn4ZTcKQ5xpzM6du ZC+QUZEunCGuxmJatLeYsUCj7BDvRnHhYkLEaolPFVYZ7OpLMhJw/DqqCZtYFHBLSODe DxdxfeQ/B/wt+Jv6ZttRbwLhCu/QcpURUTrkks2EZiETMS+ElfgYAzgkB4RyWYhYi6r0 MDDkUVX65QqHbCqgE7BncHr13vG6Lpa3bgrpiz6+YYQKGNboDmm939rQF9UXfn9bfLEg /SBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717019748; x=1717624548; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=R0O8RdWVLc2UjPDSDGViR160MauFo82inRxl7GpP6bk=; b=gMFvdunTbGY+u1MPSeLo+7Ol1FwwjD9/DayFOASHKKRifEfi30L9i8+qu7siduw9rK p+lad6/dGzcsO2sK31Jxl4UpsDV+LiI1zs57YrW7NNMq5TzpqmUzDeD5CG/Y9yDq/0N9 lReBKJgD16crOevDS/rdHtunlN1RqeJRzYlpDNbht2/2HLNLopk8Uvo+UfHG9y18rz20 EYv+vyt//O0558EoRyU6Chch7OnnYHsRFG03BLDIVnNav3vPSAVGcQuJGWNEpc69JF7l aGuk9pitNtOMrfZU0dAmzP1LYT3umBv/Y9c6rdKbxFEqJsApSSDZoWFfqa3WpSXYTirx C+LQ== X-Forwarded-Encrypted: i=1; AJvYcCXVd3gWzzLbRms39ybh1rx0gJY0HVxn8RFg56J1Q4J+5JksFUss+qqBowMUbQCNEixGczgkK3PaO+YwjNlmfobyZhgZPZjbcpr+i9ixxg== X-Gm-Message-State: AOJu0Yx+ks3wPkZoWeb3mAfzdwNXQAjyPJ+tpC32wjYitqw5V0lFm0Qu XhIw+ouxZ5btt2Ha11QKxno2+YIC8PlFhlXH0Sd2hsVk2YQ6oVdi0dn9+AcT7IkxtCIahM3AoOI gRQ== X-Google-Smtp-Source: AGHT+IGx3SrykKCWRo4963j21qgI5u7l1D5l4vFz5cSTor42JO4rQICXW/WPSO9JICYG6TRZvTrpM8pyR8k= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a05:6a02:308:b0:65c:f515:1590 with SMTP id 41be03b00d2f7-6bfdaf2b2f6mr480a12.11.1717019747924; Wed, 29 May 2024 14:55:47 -0700 (PDT) Date: Wed, 29 May 2024 14:55:46 -0700 In-Reply-To: <20240529180510.2295118-5-jthoughton@google.com> Mime-Version: 1.0 References: <20240529180510.2295118-1-jthoughton@google.com> <20240529180510.2295118-5-jthoughton@google.com> Message-ID: Subject: Re: [PATCH v4 4/7] KVM: Move MMU lock acquisition for test/clear_young to architecture From: Sean Christopherson To: James Houghton Content-Type: text/plain; charset="us-ascii" X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kvm@vger.kernel.org, linux-doc@vger.kernel.org, Catalin Marinas , Atish Patra , linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-kselftest@vger.kernel.org, Raghavendra Rao Ananta , linux-riscv@lists.infradead.org, Shuah Khan , Yu Zhao , Jonathan Corbet , Anup Patel , Huacai Chen , David Rientjes , Zenghui Yu , Axel Rasmussen , linux-mips@vger.kernel.org, Albert Ou , Ryan Roberts , Will Deacon , Suzuki K Poulose , Shaoqin Huang , Nicholas Piggin , Bibo Mao , loongarch@lists.linux.dev, Paul Walmsley , David Matlack , Palmer Dabbelt , linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, Ankit Agrawal , Oliver Upton , James Morse , kvm-riscv@lists.infradead.org, Marc Zyngier , Paolo Bonzini , Andrew Morton , Tianrui Zhao , linuxppc-dev@lists.ozlabs.org Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" On Wed, May 29, 2024, James Houghton wrote: > For implementation mmu_notifier_{test,clear}_young, the KVM memslot > walker used to take the MMU lock for us. Now make the architectures > take it themselves. Hmm, *forcing* architectures to take mmu_lock is a step backwards. Rather than add all of this churn, what about adding CONFIG_KVM_MMU_NOTIFIER_LOCKLESS, e.g. static __always_inline int kvm_handle_hva_range_no_flush(struct mmu_notifier *mn, unsigned long start, unsigned long end, gfn_handler_t handler) { struct kvm *kvm = mmu_notifier_to_kvm(mn); const struct kvm_mmu_notifier_range range = { .start = start, .end = end, .handler = handler, .on_lock = (void *)kvm_null_fn, .flush_on_ret = false, .may_block = false, .lockless = IS_ENABLED(CONFIG_KVM_MMU_NOTIFIER_LOCKLESS), }; return __kvm_handle_hva_range(kvm, &range).ret; } 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 38576C27C43 for ; Wed, 29 May 2024 21:56:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID: References:Mime-Version:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=JuFVcXLtIZzNOYj8BoaQiyYVmUd/zLSlEJ9KjHck2vY=; b=RLcVbEe+ZCf1si91orVu3gBmj0 qr90W2/LeltRUUfqS30tmTtFpQxZ/GdjbOWpS4RsEhd259OK47FvroRxuIbu6wOnbEj0suqJApu6a eJo91VRIRdp+Gkxf4DA6dpmJKbCHW91esJeOkiLcY6zYyWeS+h/DRdnfN+cQnHX8Q+hEPVadXwa5b AbTcfJXSaUxNmvjyFL0NEbxvlfWX5if+Xnka+1nEAKD+PBvI93RZCZHEIBnRc+YszsOTCZORr3qo+ Lh7STQa7XU5R9utfkTQ0tZsXg+2+CoKO3HBtE7/Yw0szo0AMKpWWsRdjvNTZOqCzrrLzpVuYhoEMr HIGnko8A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sCRH2-00000005e3N-0hRD; Wed, 29 May 2024 21:55:56 +0000 Received: from mail-pg1-x54a.google.com ([2607:f8b0:4864:20::54a]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sCRGy-00000005e0Y-28bR for linux-arm-kernel@lists.infradead.org; Wed, 29 May 2024 21:55:53 +0000 Received: by mail-pg1-x54a.google.com with SMTP id 41be03b00d2f7-68194ee2242so215975a12.2 for ; Wed, 29 May 2024 14:55:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1717019748; x=1717624548; darn=lists.infradead.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=R0O8RdWVLc2UjPDSDGViR160MauFo82inRxl7GpP6bk=; b=TGu2g3hfQx1DpXRfMIPbaZ0kj+1f+eCAXA37xmSgx925q3bIF6cPV98U/h27U2eOQf 5Xly0HxIX5ywPUMg2GDhTvkYmTBz7Ay2kIDHEFT+KnX4+S+9MfzkQfrP3V8P7vJGHTcF H+q1Pm1qYAs7eiLlc3HUJMnUddwMB6I2D3goFicHygJIS80IA1GNwV+e3MCrYjKEgfRK /IOdckqVfjxlYypfasP57suR9H0to8v0aI2Ld4WWa+uAmLeF34yUr2t5By6+qAI2v7r4 Kv3c4dFioGw4gwza3itOJYX8qdFszCmMBIKDrkrh9g0ruTEzVso7/L9c63nMxD4m5eLy yGXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717019748; x=1717624548; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=R0O8RdWVLc2UjPDSDGViR160MauFo82inRxl7GpP6bk=; b=HKkTytt7eFFIRghLLM01IRChodlNVBPIQvaztNaH41KfjAU3vkSWeBv0P7jFcKU/ee f5jbnd4Peo0RIwTR/8QHm8aP6gEtzDyR+O+2AWGCXrCDnub+g5SCOx3/YRmkOwhhoV6F 6qHtQGTeVVxmyFvVptqo7eMQ4ewsG9Tb6siPLI7Q55POaakn45LI3PomdecLFS4kY0q7 sbvHTNv4PbehUOmToVJCgCrTPb8kuQxyq1cHjyCRNNLx1gdfBfHshjfQMHT4utusrREi RiQZJWIFm1I+F59F1XE/ZwyWfY+QjVEmtf4EJx47wE+VkbMlA2o4w6JugV1WeMuv+Eht D0+g== X-Forwarded-Encrypted: i=1; AJvYcCWF3Aju94qixIbCmodGqe5XGGCIxghEEsR4R6p8ghFb3/V1SRSte8sGPvJ5nSr1SUpVUx2tZSeWEyOcSGyNOKYsw+G7hYssQl/ReY2pFkI2dBO5zVE= X-Gm-Message-State: AOJu0Yx914RQRAbwWoFpdt3rtvcdnkbtxhYHzooGH3ji12LcWgOgV8E1 suJpai0mgi5pSFQEP+b1O+cB1UCPwPjTGsbh9nqrPqbWyIGgLy4L3G1I9p2406D+FdOjpcMrBRz rhQ== X-Google-Smtp-Source: AGHT+IGx3SrykKCWRo4963j21qgI5u7l1D5l4vFz5cSTor42JO4rQICXW/WPSO9JICYG6TRZvTrpM8pyR8k= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a05:6a02:308:b0:65c:f515:1590 with SMTP id 41be03b00d2f7-6bfdaf2b2f6mr480a12.11.1717019747924; Wed, 29 May 2024 14:55:47 -0700 (PDT) Date: Wed, 29 May 2024 14:55:46 -0700 In-Reply-To: <20240529180510.2295118-5-jthoughton@google.com> Mime-Version: 1.0 References: <20240529180510.2295118-1-jthoughton@google.com> <20240529180510.2295118-5-jthoughton@google.com> Message-ID: Subject: Re: [PATCH v4 4/7] KVM: Move MMU lock acquisition for test/clear_young to architecture From: Sean Christopherson To: James Houghton Cc: Andrew Morton , Paolo Bonzini , Albert Ou , Ankit Agrawal , Anup Patel , Atish Patra , Axel Rasmussen , Bibo Mao , Catalin Marinas , David Matlack , David Rientjes , Huacai Chen , James Morse , Jonathan Corbet , Marc Zyngier , Michael Ellerman , Nicholas Piggin , Oliver Upton , Palmer Dabbelt , Paul Walmsley , Raghavendra Rao Ananta , Ryan Roberts , Shaoqin Huang , Shuah Khan , Suzuki K Poulose , Tianrui Zhao , Will Deacon , Yu Zhao , Zenghui Yu , kvm-riscv@lists.infradead.org, kvm@vger.kernel.org, kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, loongarch@lists.linux.dev X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240529_145552_602484_73C30357 X-CRM114-Status: GOOD ( 11.17 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Wed, May 29, 2024, James Houghton wrote: > For implementation mmu_notifier_{test,clear}_young, the KVM memslot > walker used to take the MMU lock for us. Now make the architectures > take it themselves. Hmm, *forcing* architectures to take mmu_lock is a step backwards. Rather than add all of this churn, what about adding CONFIG_KVM_MMU_NOTIFIER_LOCKLESS, e.g. static __always_inline int kvm_handle_hva_range_no_flush(struct mmu_notifier *mn, unsigned long start, unsigned long end, gfn_handler_t handler) { struct kvm *kvm = mmu_notifier_to_kvm(mn); const struct kvm_mmu_notifier_range range = { .start = start, .end = end, .handler = handler, .on_lock = (void *)kvm_null_fn, .flush_on_ret = false, .may_block = false, .lockless = IS_ENABLED(CONFIG_KVM_MMU_NOTIFIER_LOCKLESS), }; return __kvm_handle_hva_range(kvm, &range).ret; } _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel