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 65038CE79D3 for ; Wed, 20 Sep 2023 13:55:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D5B2F6B016F; Wed, 20 Sep 2023 09:55:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D0A936B0170; Wed, 20 Sep 2023 09:55:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BFA386B0171; Wed, 20 Sep 2023 09:55:10 -0400 (EDT) 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 AF1A86B016F for ; Wed, 20 Sep 2023 09:55:10 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id AEBE4B3AFE for ; Wed, 20 Sep 2023 13:55:09 +0000 (UTC) X-FDA: 81257122338.23.44CD619 Received: from mail-yw1-f201.google.com (mail-yw1-f201.google.com [209.85.128.201]) by imf02.hostedemail.com (Postfix) with ESMTP id 7A03980015 for ; Wed, 20 Sep 2023 13:55:07 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=XSp4lCxe; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf02.hostedemail.com: domain of 3uvkKZQYKCAk1njwslpxxpun.lxvurw36-vvt4jlt.x0p@flex--seanjc.bounces.google.com designates 209.85.128.201 as permitted sender) smtp.mailfrom=3uvkKZQYKCAk1njwslpxxpun.lxvurw36-vvt4jlt.x0p@flex--seanjc.bounces.google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1695218107; a=rsa-sha256; cv=none; b=NHQV1eIyHET5DhULqkvbyqcngevaoIsOhG50JQ9oL/DZnuQbvvE2NtRdc8i0uR0PYDMzLu AsNzFWmOfjFdaCfPTHNiBWg3Dq9VtHu8nKolT6hHSTmdU6vfL0jdg49N7G8rOLDgd8Thr1 1djKtndfNygDThxC9hxMHzuP0ztzR5c= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=XSp4lCxe; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf02.hostedemail.com: domain of 3uvkKZQYKCAk1njwslpxxpun.lxvurw36-vvt4jlt.x0p@flex--seanjc.bounces.google.com designates 209.85.128.201 as permitted sender) smtp.mailfrom=3uvkKZQYKCAk1njwslpxxpun.lxvurw36-vvt4jlt.x0p@flex--seanjc.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1695218107; 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=0APReAt4bNnnd5kx+NahuCYj0tgbUgwxY6/xmv3q1x8=; b=5b0jiVzpU6C4IuuoLwkfMIBEqw4g1UL42AX8cWsw3BgaPMGWRV26nXtma3a8AxULMn8491 O9YwS/QFCP0o3HE4J4niiHP3qmhtBAWhR+xBuZm/uAFNZOXWwQGnCAHfXv81M78WWz+HX9 VLbZ65c+YSWS6/wLOURmIx2Wd9FjuEE= Received: by mail-yw1-f201.google.com with SMTP id 00721157ae682-59c07ca1b44so74052237b3.3 for ; Wed, 20 Sep 2023 06:55:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695218106; x=1695822906; darn=kvack.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=0APReAt4bNnnd5kx+NahuCYj0tgbUgwxY6/xmv3q1x8=; b=XSp4lCxekKSMXSY5bj+eFqq+5OgR7WRkY9hniKO3MUAvTtmMnIqmQ01O8H3sTDpneM IxvGLqKbgOdQoauh93qP73MnSyentvy76W+R8x/QqBMcNUDWDsYNxeAQOkY5RfWN5rBa 6Gz0nNtaQpQMWI2d4QMABk1A2+FAoFd3l95ha6twlVYtVzrbiQ5e1uqyHMee/zpXuizh eo4/jr2ki09pfMzoGlmVqakoaO5Z2oFPdKAYacHoGVnoz6oxJjDohfzLFxSGlB9NQNBQ ANV33Rfvk0I3N3cPjm/jelBVp9h+y25ZYkCiwp/xRHP05NIKZEV2ixwLKtAZI3sgyPaB 1r6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695218106; x=1695822906; 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=0APReAt4bNnnd5kx+NahuCYj0tgbUgwxY6/xmv3q1x8=; b=iELjw8hk3RhsBsDdtnQNK2mfk+sRE4GU1H9wLvzhDQTtUGLisI0s+9vGgMCZN0iWHx jvlOfwvWtc//qgf0ecT6x1NhJ8teWAdo6OYus7pFIsy9WwL/QVxOORH3PfjAIDSiHpgh 95wqUKHA3XSQNWY3PjMeGkc/GVW/bbDeFQ2hRpeKCp8u68SCAFqKSTIxZks1QhPXyrBX dJ/w1R5/YHgdahSMttiw87xqtFbIRAfddUVQTAYgxSaGC/5i96ul7Fu7FS8TmwuM43t4 6aisM+Ls4rMqK00rgU9YEON+FDpyLE78FGOEtOooN6m1HjLN5Eab0Hj5tzN9w+lHjZoG /9yg== X-Gm-Message-State: AOJu0YxMRdWbvMJR3AeNfZmXAhIdsFycw/5Y/5Kcx9DCo2B2u7C+BrbP 0k/JFElThohDjyxKWwc2I9v4EoRFfxs= X-Google-Smtp-Source: AGHT+IHuQ24Hy0wlZqpKThD2hndi3rYWapG+J/d1L/ai4z7W/k7rmZdxNg2zwHr4zmYKJTJyjaSKmjFgB/U= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a81:ae57:0:b0:59b:ee27:bbe9 with SMTP id g23-20020a81ae57000000b0059bee27bbe9mr35901ywk.9.1695218106527; Wed, 20 Sep 2023 06:55:06 -0700 (PDT) Date: Wed, 20 Sep 2023 06:55:05 -0700 In-Reply-To: Mime-Version: 1.0 References: <20230914015531.1419405-1-seanjc@google.com> <20230914015531.1419405-3-seanjc@google.com> Message-ID: Subject: Re: [RFC PATCH v12 02/33] KVM: Use gfn instead of hva for mmu_notifier_retry From: Sean Christopherson To: Xu Yilun Cc: Paolo Bonzini , Marc Zyngier , Oliver Upton , Huacai Chen , Michael Ellerman , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , "Matthew Wilcox (Oracle)" , Andrew Morton , Paul Moore , James Morris , "Serge E. Hallyn" , 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-security-module@vger.kernel.org, linux-kernel@vger.kernel.org, Chao Peng , Fuad Tabba , Jarkko Sakkinen , Anish Moorthy , Yu Zhang , Isaku Yamahata , Vlastimil Babka , Vishal Annapurve , Ackerley Tng , Maciej Szmigiero , David Hildenbrand , Quentin Perret , Michael Roth , Wang , Liam Merwick , Isaku Yamahata , "Kirill A . Shutemov" Content-Type: text/plain; charset="us-ascii" X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 7A03980015 X-Stat-Signature: f55wtopw4jwu56esqhow61jq7rxm9d6t X-HE-Tag: 1695218107-274763 X-HE-Meta: U2FsdGVkX19CHfwJQv/1pokLtirz4tLnsD16ldcMTpB7O2N74ERMZ1nYTTj+fdV26xjfxa9cjM8eq5hSMCdGj1cUMSr07hThbxqCl732fQiisgGF70oedupBaV2VDzrwMkHjrjWGdOuDdJu1HFT0tcUiE+Du9l+Nul5DSnCfTBU/BgV/Qe9E0u3j2Tsz3FEC4UxPUtI+Oacm6+GqRmfmibX0+DnSdMUVU3ikdNO5KdZeRa3KAYi31r9aONp0+ggUO22fbelwp6yDY4qBB9pcBQMmuJWO7VXE10MuMzsIKprYok/01JLLid439gBVMz+IkcmP5wRdzwBBVmxc60Z/DbZqhLFzq2yoxRisnezWNvHVPlP7iwz5ILrcI9jzI32rJDHQzJjBF2QoOXiOfi7BdTu8N4zWWiJKxjEzCi1n4R9K4ykq7ze/lJu6Uwbb7DAGCtXdpbOxonwsHMtemi89Us76Ge2oC9JDp2mEpCaem2NsW5lFx4eJj0geQ4ZqKZ+BMF0VcAS/anfEoVb//czpSBLLU+Fh2rVnAG39Xnu1JPvfvGruV/TaGMme8lStt+BL4+4vBcBLgfB4GGUQ04UfLpRw6hmRRppw5VlSnMqRzNvZYwKPs3klnLE7+GFBFcYhFuOXVB8jYF81Ooy17SlKYSn00fN37A6381M2LBXbA30dM9eAX3Dfba8agA1aEBnbNMbby6MLB+BP0b0wwRZzfcvbvseYwyAYHdllIakravBCedBJ9Tl7A2C6OmPmSsrKxjVgL51UNedKc0/5e54OtH8GTeH01/TD1E7Any3HQMScJ1egqHYIV8AmuL8lUd2dmaZKs7Dv+EG8DEgAPB3UbU2CS5Is4b2apJT7bU9jW8tLRkWHB1vE+HRYjc/YbDA/GPThNxzb5OOxYMn28kFLKd3etaVUJ9GQuf4bLEamfxDvrajSpUmojBlVeIuSAGedR38j4h65vdfWkFfyyCk SyJLlCnH DFHUxP+gPkVyTp26aXoWoBocu1uJtGMwZiTOc++QkxaKrI6xAe+9oGCtkD4xb31TLmzOtwJh5XBSyyRK5BA8UYSwIjc7PQp0AQTPooaHM3pDoz4bB6bbM/GifVg8OLBwFanLXtaVmrjCeapXgyGGJSQ64WIORkzrIWUPdOKQoAAkJEpYHmWJIJL0IlnHUBKK7qOfLgv3WhglH1d8tQJ0K9VjE/h3SZz364B+FoOReMcZ6rI44aJHLnF7/PlG6o2Qtni6OW7TVuhOn8xjoY5KfygoGCVmdP/6QKEDtmnfUoToNgaZLvjhMHHxRxYALDSyTufd8qeautJrJvpM7KLxY2qTlOEWo3+J6CY7VTEsyDpzGsiVBvymvm5XHwNFeDxVTOwUB2e/XgXKayXDY4eCeEdvJXI7AcsleZ7AxFgjMeTSYc/KnsT6UEXu9kFnapnqOihfxGt2ZZ2kQ8CHEbFd3Us/L1K9Ud6FVApQUbXxFW5/WwUhy7iUKte2VedLlflhzC9mU2IoSGamO+a8Q/fRqwCBsn2qDiNYVdg7AuMLjeUz49hTfEMGMxtrTYfuhxYbHRLnRi3rnmL7NdEJORPfVXVaOub323hUYMS52MWUKYPa7SIZJeQzjfs6PPXf27DgrAWGerWZ5NLIol8qXeEm19D6sfo5gej87M/hDH1hkG6bNx5i/4Qf6Ewqpfq9zZq0QdxBS4r/SSzOwS+k= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000007, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Wed, Sep 20, 2023, Xu Yilun wrote: > On 2023-09-13 at 18:55:00 -0700, Sean Christopherson wrote: > > +void kvm_mmu_invalidate_range_add(struct kvm *kvm, gfn_t start, gfn_t end) > > +{ > > + lockdep_assert_held_write(&kvm->mmu_lock); > > + > > + WARN_ON_ONCE(!kvm->mmu_invalidate_in_progress); > > + > > if (likely(kvm->mmu_invalidate_in_progress == 1)) { > > kvm->mmu_invalidate_range_start = start; > > kvm->mmu_invalidate_range_end = end; > > IIUC, Now we only add or override a part of the invalidate range in > these fields, IOW only the range in last slot is stored when we unlock. Ouch. Good catch! > That may break mmu_invalidate_retry_gfn() cause it can never know the > whole invalidate range. > > How about we extend the mmu_invalidate_range_start/end everytime so that > it records the whole invalidate range: > > if (kvm->mmu_invalidate_range_start == INVALID_GPA) { > kvm->mmu_invalidate_range_start = start; > kvm->mmu_invalidate_range_end = end; > } else { > kvm->mmu_invalidate_range_start = > min(kvm->mmu_invalidate_range_start, start); > kvm->mmu_invalidate_range_end = > max(kvm->mmu_invalidate_range_end, end); > } Yeah, that does seem to be the easiest solution. I'll post a fixup patch, unless you want the honors.