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 7ECBEC25B78 for ; Tue, 4 Jun 2024 23:37:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ABCBF6B0083; Tue, 4 Jun 2024 19:37:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A6CEC6B0085; Tue, 4 Jun 2024 19:37:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 934A26B0088; Tue, 4 Jun 2024 19:37:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 766AE6B0083 for ; Tue, 4 Jun 2024 19:37:01 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id ED6EA40333 for ; Tue, 4 Jun 2024 23:37:00 +0000 (UTC) X-FDA: 82194819000.03.CD2387E Received: from mail-yw1-f201.google.com (mail-yw1-f201.google.com [209.85.128.201]) by imf28.hostedemail.com (Postfix) with ESMTP id 32FB4C0013 for ; Tue, 4 Jun 2024 23:36:59 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Ko7czkwc; spf=pass (imf28.hostedemail.com: domain of 3GqVfZgYKCB0L73GC59HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--seanjc.bounces.google.com designates 209.85.128.201 as permitted sender) smtp.mailfrom=3GqVfZgYKCB0L73GC59HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717544219; 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=p6cRhpzsCNepMdsrfgI93QBKDGHo0p9E5+86VMMwQfk=; b=hgOXaLFCDZjhNay1UdyuqQgmRyX6giTQba89ASnFV/UnLtWaQG3LWqCpiAezy/OgRvtk7y o8AcwRJDBlmr3jyebnyWdLd5NHtT4hnQcwbVwjE3O+cbr6veGsCXH7TZpxUCMlO7umbc9+ fusnKdLzZRIKh1KkBYJaIwCkuHDuA7s= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Ko7czkwc; spf=pass (imf28.hostedemail.com: domain of 3GqVfZgYKCB0L73GC59HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--seanjc.bounces.google.com designates 209.85.128.201 as permitted sender) smtp.mailfrom=3GqVfZgYKCB0L73GC59HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717544219; a=rsa-sha256; cv=none; b=5aU8HoDtWkPXGAG/7NfqcR5hER2hY/DSdNEYwEc3p8S0uvttstMWL5YNRMjMirgOiXe6QG CbTefRrDCnJnjU+klNYWq3JKLSRaDKKxg3ESj6yrme8Z3ZRWkQ5jsRFI6wG6Hx/6ebURIW sEiZui12hlAB8BUVyRKzVkUCOk5zDX4= Received: by mail-yw1-f201.google.com with SMTP id 00721157ae682-62a080977a5so106942507b3.0 for ; Tue, 04 Jun 2024 16:36:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1717544218; x=1718149018; darn=kvack.org; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:from:to:cc:subject:date:message-id :reply-to; bh=p6cRhpzsCNepMdsrfgI93QBKDGHo0p9E5+86VMMwQfk=; b=Ko7czkwcS0MHDsmLGvXhn4f+nS7SzMi7b1BD0G2ErtYt4Mz14nhPEnGkmR1guApoNQ BcUPwgZqcvAuiiaYuXURoANLiYusADk5Thlb44L2R33lPqpx7OI24AWGWnW8dqm3YQ3d 5x8u29TJVarl4KbDKF7c208XkATkUng6Dg8Nwjwl+Y7RZdT7HW6H3bV4VVYdwJjlb2sP VWzXo+rDxlF9JXmjeoCxNBjEbtekuDhwZ3r4oglDVF2Hm2jJX5yq1giMc4HP56qFNYfS 0hDGtsvyjmqpiJbVt8CIkYvDz2BvYP4ecOUFTYzmSQdbp0fSpnCkUjQSPF72ASBw1axe YL4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717544218; x=1718149018; h=content-transfer-encoding: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=p6cRhpzsCNepMdsrfgI93QBKDGHo0p9E5+86VMMwQfk=; b=lo4yj+nUaRQxoV7ARoF4JP6MMNYSKBvUVW6oQ5nKmfGMYAVjGBK+FajTXLMCnpFMjp /B2jgkme+7Vk5Wnqu9yQL6jNScaDN94V1HESBsBpFfBhvM5Cp8/UGUx8JwUhhv3oiyYR Xm2tRd3liY27W24qj77RTb3J68Oh9Xn6WeHv+6MJdtJ5ssdWTtOaq1HnhJprGx1ENy0s 0d4i130UsqEWDRFVs5Opx5hM9n6SdfPWokRrk7BIwIuYr9exx2SNbuszHi47BGkVfUfu mmJPuYnM2t9fHCHTFnhoL0IqLP6A/XvAV7sz8j6z8i2uNwv5xOh+wRMBbahJqnY9W1Kq hL3w== X-Forwarded-Encrypted: i=1; AJvYcCWf6Dl1Vp+1vE526SEOSgD4SKig6oIaNqYNaLscYc0Qvt6Akeh4EyRPKO9hNRea7rjTPIaL5Rs7ivSIeMBj3dpZEss= X-Gm-Message-State: AOJu0YxQXCTfTPnoCrdvc0fxERliHF7a0cHIHm+4CUn3Xr10YCYCBo+M 5A2cNLKBB73dsg7vtiFdFknZhKve4mkvzJLFyIqYSFL7lY/fD7Hj03znZss/aLX55egPOKIegpt 9nw== X-Google-Smtp-Source: AGHT+IGvDf74cxgWq1gEKNpKx7itTcK7riRR46b0a169PbO8HQdl4CdVTPFkPhLbD8V/0e9PxPNrLdgSGrY= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a05:6902:1142:b0:df7:9ac4:f1b2 with SMTP id 3f1490d57ef6-dfacac478ebmr240926276.5.1717544218030; Tue, 04 Jun 2024 16:36:58 -0700 (PDT) Date: Tue, 4 Jun 2024 16:36:56 -0700 In-Reply-To: Mime-Version: 1.0 References: <20240529180510.2295118-1-jthoughton@google.com> <20240529180510.2295118-7-jthoughton@google.com> Message-ID: Subject: Re: [PATCH v4 6/7] KVM: arm64: Relax locking for kvm_test_age_gfn and kvm_age_gfn From: Sean Christopherson To: Oliver Upton Cc: James Houghton , 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 , 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="utf-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 32FB4C0013 X-Stat-Signature: cqiubsq1gj4fqypzixm35ggt1manr48q X-Rspam-User: X-HE-Tag: 1717544219-752466 X-HE-Meta: U2FsdGVkX19fUkWvenzee6wrP0TzJdd1JTGc20DrQosUAyn5t6u4bJ+I6c1KTO2VxIH/KxEG7YrVhC7nBZc1GgRhQS4h+AfCyp/CN7hDQHefx8RH6k18JAhXdhXZdJ8s/XBZRPFX9agWBfBbk2xSs5tH1XZIUezHF47KaqcWvSEZFH9q1PwgylJ4XV4lv95iE5Cc2G5yBFwP73EyRpcG/rQb1aMM85mxp81rTmgt1tsVts+6einvufBGZfJKe45HzSIGJ79sg4KP4XzHX8P0grl3+KBfrOs7fM/RIipJjAW6/uU7lGh1fEDgG7Z+HX4P4U+3kFJzDXqJMPzgzB7QzSW6EGvemP2j6kKWolc7eKSpC1ypB8YOoeKxyFLVjAwAkgoV5GijoqgZ1y7sIcGxXU/VcQ/MOv3jjyXc8tnZ/fESVaIvH3qxJSXTF36FIUeOQbmwbMhD0i1g2KuclXJe0kVuIG0pj9KzVYDJyFfDlsKXzn6I7U2XqjBbdDd44CNwZMiNfQlif6HB4sqROO8tytI5GRuOjEUsrWlaAgLaXgBaX7tX1sKLhsHKUAO2P20xyRB7JFWRGIj3XUcFdWh2VQVpRBhq5kdHgXClVTVvzscqpgsG4AtfUmIDikujPqorH+5+EfrDamHXLiB0job8cdEh81ZXJ7GpX5zyozSbDHLUDcpEzrKRsY53LH/tJBTVwrrDi6t//MhogIPBClLNj+hnBfpv4cSSWedXnuJwhZMOONlHNRi5/GHvHr4v1rKCecHvVSW1C9skrCZ/zLUZOSct/o4kflvmAJJY6WgW2kSK86rIP0nnTOVrFmubuCN7JSaZeG+zrEiFLY72CFtzVDQeh/TizeobuqTsIYPeUf7aqplQ0quXtkNvta7TXhQ/h0+HMgijyiVhTfqwQ9mz6nD3Ug/GAmuvbkx1gQuQchXSqa65zv3Qsm1wpso5ipgI0xoNN/JeqARjtqFrvDK SHJ0KHGk eM+6W4//o0O1NB1DL2KYkEq/MXGhHMg/iKivQZ0XdxWfWRhMk23ShWZ4TTJgh0xrkTENoBvnbHIu/Q6bDDTR8TEJoKwGRMIH+h2w8sohPd4u+EnnpYJxdKbq/w9KvQy6+j076GbFBuhYX1aTJ6EhyuM+w5W/q7oVVXS4hFtMY22fepOIMRrZNnRuU7fCQ0qai1+xeVkKbVse3KtVPGiSSTSH6FswOnD0fjcAP26hmxesUhqjnNl3pxXWQGQY5u+PILbBd36fLHNElnyd6Yq3LiqTkybV36qOlD411xMjDl1U0fSP6m9VPjJgLGLxqHF2bok48SQBB+z4kp7yLIbwoMc9UA6NGFU0e01ADGQBy4V7oxcRpjkbzf7KuH0v4tgWY6vgjrM5WNeatUzQovVM4Q79kRNbo1poUDvmvcBaW/cPCFa16moT8APoXgaGVsleI0xmtoeEoa9fMpukQMPm+JpVQ0bpx5nGibunA6rhpquQM6Ck0pNeGuz6GWowyhOP4zWp/tWRo5J5bo4rKZ0UXlM3+ba/hWqHAHGCWyVZ906in05v60dZj6lp7ZJfsti+qHCJXTJ50q+u/JxPvKPrsRBY3ZQlx/ZQY4jK1v2jpo7imrABfV4THwBdxBw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000042, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Jun 04, 2024, Oliver Upton wrote: > On Tue, Jun 04, 2024 at 03:20:20PM -0700, James Houghton wrote: > > On Fri, May 31, 2024 at 12:18=E2=80=AFPM Oliver Upton wrote: > > > > > > On Fri, May 31, 2024 at 12:11:33PM -0700, Oliver Upton wrote: > > > > On Wed, May 29, 2024 at 06:05:09PM +0000, James Houghton wrote: > > > Oh, and the WARN_ON() in kvm_pgtable_stage2_test_clear_young() is bog= us > > > now. Maybe demote it to: > > > > > > r =3D kvm_pgtable_walk(...); > > > WARN_ON_ONCE(r && r !=3D -EAGAIN); > >=20 > > Oh, indeed, thank you. Just to make sure -- does it make sense to > > retry the cmpxchg if it fails? For example, the way I have it now for > > x86[1], we retry the cmpxchg if the spte is still a leaf, otherwise we > > move on to the next one having done nothing. Does something like that > > make sense for arm64? >=20 > At least for arm64 I do not see a need for retry. The only possible > races are: >=20 > - A stage-2 fault handler establishing / adjusting the mapping for the > GFN. If the guest is directly accessing the GFN in question, what's > the point of wiping out AF? >=20 > Even when returning -EAGAIN we've already primed stage2_age_data::youn= g, > so we report the correct state back to the primary MMU. >=20 > - Another kvm_age_gfn() trying to age the same GFN. I haven't even > looked to see if this is possible from the primary MMU POV, but in > theory one of the calls will win the race and clear AF. >=20 > Given Yu's concerns about making pending writers wait, we should take > every opportunity to bail on the walk. +1. The x86 path that retries is, for all intents and purposes, limited to= Intel CPUs that don't support EPT A/D bits, i.e. to pre-HSW CPUs. I wouldn't mak= e any decisions based on that code.