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 A9937C4332F for ; Mon, 30 Oct 2023 17:01:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0ADB46B0251; Mon, 30 Oct 2023 13:01:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0367B6B0252; Mon, 30 Oct 2023 13:01:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E18FC6B0253; Mon, 30 Oct 2023 13:01:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id CFBE36B0251 for ; Mon, 30 Oct 2023 13:01:39 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 9C8F01606E9 for ; Mon, 30 Oct 2023 17:01:39 +0000 (UTC) X-FDA: 81402744318.02.E8618CA Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf15.hostedemail.com (Postfix) with ESMTP id 53B49A0056 for ; Mon, 30 Oct 2023 17:01:17 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=FKnYKKdN; spf=pass (imf15.hostedemail.com: domain of pbonzini@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=pbonzini@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1698685278; 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=ySiJbXtvuo/ap347BrtctuG5UsffPvyxiWszBOWPpzU=; b=nHP2ajwXY4fsFwpceyCXYBZuH/AmYh65NGJb1T/oowjZJhIQgiDf9MN5FqbKeOg0VH4t/z JzI/zdgYHoc+j8YXXJs4S0DLTOloaUSgrTDGlU766seFb3nkvXLO+QNzkFXNsRmn+dmSrr /g575UcsUqfB6QahJT7Ayjska+M9EBM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1698685278; a=rsa-sha256; cv=none; b=zyfqCuu0s/ToH+GLLzzszga/L9m3Dn/jvDWOY0SMHN9BkF+OzPyWjhGxWrYtwmFOSbwEMi LmmzUlbFGdEb9qJUobUYQlA5RN+yX95PMAKNsJueBpGnT7SJyXhJpxI7Z9mXBOd+UuyUC7 AcG03VbIygSRqQEnqVVLV+ZRXufGRTU= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=FKnYKKdN; spf=pass (imf15.hostedemail.com: domain of pbonzini@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=pbonzini@redhat.com; dmarc=pass (policy=none) header.from=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1698685277; h=from:from: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; bh=ySiJbXtvuo/ap347BrtctuG5UsffPvyxiWszBOWPpzU=; b=FKnYKKdNPaUgVVZzYy5hsqX7FBKuG3+jXXuUovs5oQfX4F97u++qKsVtbgNF87MxPOaLWk vxSZAOcOGGlqg2vSvKFkuKHvbAa9tgU/VKalbW2jGqVcvh/0YP/XGzKORnAaQLpiNzDbFI rP70iIjnTmZoT1UlLSNIGlrnZii0cIA= Received: from mail-oa1-f70.google.com (mail-oa1-f70.google.com [209.85.160.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-497-rGAuiRN6P8qCyikWUR6KzQ-1; Mon, 30 Oct 2023 13:01:12 -0400 X-MC-Unique: rGAuiRN6P8qCyikWUR6KzQ-1 Received: by mail-oa1-f70.google.com with SMTP id 586e51a60fabf-1d66b019a27so6490773fac.0 for ; Mon, 30 Oct 2023 10:01:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698685266; x=1699290066; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ySiJbXtvuo/ap347BrtctuG5UsffPvyxiWszBOWPpzU=; b=HY5jj63jQfaq2iGutg432LWM6rnp8CxKZZ1HTiEKUtTd14gqC5kF7DRnnCencioLcJ lOzWtxswoUUU441AV0cTZCcxKQ90CNdgijOirH4j8NnC7HBLEcyQzTk6XCaU/UN2VftC 0xkK5UJELwrmwoNxNGdhfJ7zOhbAnUmQPUuqs6NCHIZBLFR3ZVfmleZnSLNS/V/J9XlK 5X/rStsXae8tcMBKKkYQVslSIobIPL0FAPyaQcLA/yRIUJPBf3qzOmAoAVaLm4dCrUNJ jyf9QvTt9HARhYUJ8jMk/Q7MtnHNxpAAJpqnMSM24tKHrsLKfKn4PoUxaKaqrzYpOb3K O9Lg== X-Gm-Message-State: AOJu0YyDTX5pvlxLhlCmn8CKjgh2tAgNSxx23+kafUA/4igNWpxUJFpR QIZBIJ2pKixPId3I8O2yRoth4QMRwFA/PaHvT60mb6RFWHR7U9Xgq5lL6f/KGhLTfBzydOBlL2E hBRJkBgSsyV1rdSadjp3YSee7+Qg= X-Received: by 2002:a05:6871:5c45:b0:1ea:3f79:defb with SMTP id os5-20020a0568715c4500b001ea3f79defbmr14807558oac.52.1698685265970; Mon, 30 Oct 2023 10:01:05 -0700 (PDT) X-Google-Smtp-Source: AGHT+IExUXzp0cSzQuFI/AWzKwhXt4UU+QvY8z/fyApz/M7sPoBiF5GZjJ7SszJVxAGAXDpAW5+AxTqFEaHAzsc1Bic= X-Received: by 2002:a05:6871:5c45:b0:1ea:3f79:defb with SMTP id os5-20020a0568715c4500b001ea3f79defbmr14807416oac.52.1698685264406; Mon, 30 Oct 2023 10:01:04 -0700 (PDT) MIME-Version: 1.0 References: <20231027182217.3615211-1-seanjc@google.com> <20231027182217.3615211-4-seanjc@google.com> In-Reply-To: From: Paolo Bonzini Date: Mon, 30 Oct 2023 18:00:49 +0100 Message-ID: Subject: Re: [PATCH v13 03/35] KVM: Use gfn instead of hva for mmu_notifier_retry To: David Matlack Cc: Sean Christopherson , Marc Zyngier , Oliver Upton , Huacai Chen , Michael Ellerman , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexander Viro , Christian Brauner , "Matthew Wilcox (Oracle)" , Andrew Morton , kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Xiaoyao Li , Xu Yilun , Chao Peng , Fuad Tabba , Jarkko Sakkinen , Anish Moorthy , Yu Zhang , Isaku Yamahata , =?UTF-8?B?TWlja2HDq2wgU2FsYcO8bg==?= , Vlastimil Babka , Vishal Annapurve , Ackerley Tng , Maciej Szmigiero , David Hildenbrand , Quentin Perret , Michael Roth , Wang , Liam Merwick , Isaku Yamahata , "Kirill A . Shutemov" X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 53B49A0056 X-Rspam-User: X-Stat-Signature: rko54hodk6e9rtquaf77ezycmo9sbm6n X-Rspamd-Server: rspam03 X-HE-Tag: 1698685277-723271 X-HE-Meta: U2FsdGVkX1/EM1lQH0xcSeUyNMRrrVKQsy66lMP7btKZ89hDE8BtzSHbOkyth4brJ0v6eyQXYLl0zob84sis8vF3ieNoy0C6lPwqNX2D+EBTN/gruCcn3eZTuOxaMdEXVGnjMoStjyDIk97ecFQjeppWu7IqiohS9tLS2tisFlCd//l/V4ma7CGjuZaLnhZAHn6YgfpWdV4+dYqJQvS20uvwB5/F3T2g5XcmN0Qq+DwZ1LJLM/vUJmpHUB7+t/disQKiF5x6xo8zk4x1c16DAa+nR/aOJou/EzyA8xnE37qjryG18iRDbusJcaile1t7XqC5Rh1oJvzNwWk1ElXC2uB63zl5IFIzQ6X+ZP64U3qB+ep08WNghiIY0VDWL//0sF2qmZID5YAF172liTSUD53FVC+Hdg7QkmTzzP0kjneRDbSMnQSK27oZVk1ykoh2zhct6Y8cGdPlf1rM8EmRIvKkDWplnYJnqvIXW1yAKSTCX9E0JBlvrEq1XLY0i8p8czLoJ2OozoNMoF5leeya8eNyNIjK0WX2mHBgcMhg07DHN3MdT42A4fAdnJwrtQGi6nrAadXNadcVetvNW7fAEE4dvco8aKOK458dgGjattqm4+JJYpjhu3Tl4zIveBy/mpwNzNRZiqUvJjG6THzI+7DZF1ifwqPQmhk71tNno299UEpZri81bqW9BkP5dFasuqbQY1Y3kiLBomtIfzX54PMAyWT2TB3o4s58t29qEG2mlCfZ8ZOs/KOa0CBrwZr6QVfnNvCngpmavs9kL37RyvkM/JGTDy3DYiHpD0kLgns808hE3FnqBbEJ3Rh3cWx1x93dWcEuss5Ghj++SZY3PDLKlPr+T1ZknhxfWRu/UsV80Hn79LwsliEn3w5lDj2T7BdV+f1lHTlsYTRmcwmZ4f1Pou2bBq6SCwWWJCzqsjbGVBz2Id5TDBHM2e8Z2DxN9rMHQQrL/DqYigT/Jy4 edEw6X8M CeIBdWp5T1pTu17J1LydRu+mvbwOaGigDmChJsSVz1zeroCgDJZ7HBr7LtGCORKLUt/N7XAFx5dFf/pSYNpnDvC7RZvmPoFEg8kaBhtq6+Ie+tzFzPpoT2TVUFMs2yrS3oD0yOKRjKzfjEs5fonAF3SSFkyunY/Y0XQt9MboPY9fCKyvXpC3NqsoAlLQNAPDgeWMl7QP9QWRISGDic7SxMJzF8jRVPUQKrTxjTxfbukHu1t+DeQ6MGS8anjTursIS93CVc9+g/jAhnLW8kuPHqk7KS18C1KnixhNbyA4tzkfa5s6iA/RjmP4GwYuWoqNoI49PtXVcdP2WV5QstS7g05lXLJpOTTBhaBUtsbXPxnr7rIFoO4ZWhzk+QRn7eOpzYD/lGr+l6Km3ppYWKSV1tJ4nfQ== 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: On Mon, Oct 30, 2023 at 5:53=E2=80=AFPM David Matlack = wrote: > > On 2023-10-27 11:21 AM, Sean Christopherson wrote: > > From: Chao Peng > > > > Currently in mmu_notifier invalidate path, hva range is recorded and > > then checked against by mmu_notifier_retry_hva() in the page fault > > handling path. However, for the to be introduced private memory, a page > ^^^^^^^^^^^^^^^^^^^^^^^^ > > Is there a missing word here? No but there could be missing hyphens ("for the to-be-introduced private memory"); possibly a "soon" could help parsing and that is what you were talking about? > > if (likely(kvm->mmu_invalidate_in_progress =3D=3D 1)) { > > + kvm->mmu_invalidate_range_start =3D INVALID_GPA; > > + kvm->mmu_invalidate_range_end =3D INVALID_GPA; > > I don't think this is incorrect, but I was a little suprised to see this > here rather than in end() when mmu_invalidate_in_progress decrements to > 0. I think that would be incorrect on the very first start? > > + } > > +} > > + > > +void kvm_mmu_invalidate_range_add(struct kvm *kvm, gfn_t start, gfn_t = end) > > +{ > > + lockdep_assert_held_write(&kvm->mmu_lock); > > Does this compile/function on KVM architectures with > !KVM_HAVE_MMU_RWLOCK? Yes: #define lockdep_assert_held_write(l) \ lockdep_assert(lockdep_is_held_type(l, 0)) where 0 is the lock-held type used by lock_acquire_exclusive. In turn is what you get for a spinlock or mutex, in addition to a rwlock or rwsem that is taken for write. Instead, lockdep_assert_held() asserts that the lock is taken without asserting a particular lock-held type. > > @@ -834,6 +851,12 @@ void kvm_mmu_invalidate_end(struct kvm *kvm, unsig= ned long start, > > Let's add a lockdep_assert_held_write(&kvm->mmu_lock) here too while > we're at it? Yes, good idea. Paolo