From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f202.google.com (mail-pf1-f202.google.com [209.85.210.202]) (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 63CCB33D6 for ; Thu, 23 Feb 2023 21:12:26 +0000 (UTC) Received: by mail-pf1-f202.google.com with SMTP id 202-20020a6218d3000000b005a89856900eso1378119pfy.14 for ; Thu, 23 Feb 2023 13:12:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; 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=jZqpqHNnDrkVf5YnH4C4p2Du+MWFI+rsSboHjRikfo0=; b=cstTUl3cDjETi7Uy5k8lUK4jDXVH5n84ULJ8Qdzf8KUig6GFtpHB7w0eoI8Plhg2NM 6FWa3l7sXNc+M6YDtvaFjXzlpRtWBMe5SojZXE91tPmgJMlFF/CW1ZZv81jiCr0fXexK lScdHryZlveE1J+z0J2TIi81MbXXQWHYdNInuM44+8VugSDN/fGG/tYGrW4Jcvq/Dl9n Ek7HnOVQiTB+e4FM6RTzQyIV1EEstxc2pOWecp5NaX9GOemJJxxrazzswOceIxFVcfln /s7eha+SalTSQycIbbCTH+sAFv5dgkYSrn8AD1goiYFHWVwKHCsyUeb7nev3pGjb/y5j CUrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=jZqpqHNnDrkVf5YnH4C4p2Du+MWFI+rsSboHjRikfo0=; b=NdBwLZPkyY7k+mifZV7tjw8Jh8fEMG8TDkFTj6YPRLpzEdRr0kWhjbEhltHubBdKLM 6+jN9Nvfxb0jtjM45AW9nfYejPcRim4soCm9GJD908QUkPtQXs7JahP5sziOjR6Uh4s1 yYzsivcKTc6+ebl4X27XdUiUj+Jam+uwUV1KputC6sWHIlRsCmCPfXYA/drVTAy7Y7y8 oWqe8XN389pN8mIqQwbtHSpfySsC1UzZOLJ3Ow5YPiKkW351F0u6ZJq9mZV7j1rxj8Re lJyz8KTSbeIdsYrpEzW4r2fNPuc9YUWNwg4G6we0sZ1SCoBLiPIIG3lMbKRNgatLy4EV Ibgw== X-Gm-Message-State: AO0yUKVUFKBAcTeiaXFd7tb77ZpYxF3hkTYPZmxZGJPxIScaoAZHAAnh +Qd3OrRh3w+v0jxi8+RhBN6y8R99JlQ= X-Google-Smtp-Source: AK7set8UOj7NygywK+cGr/Rmvj7I4XEunDNhPQJfW5dsIVprbIkkXYFIqYFcViXFQ9A3GP588Pa1F52horE= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a17:90a:fa4b:b0:237:2106:a861 with SMTP id dt11-20020a17090afa4b00b002372106a861mr826705pjb.0.1677186745595; Thu, 23 Feb 2023 13:12:25 -0800 (PST) Date: Thu, 23 Feb 2023 13:12:24 -0800 In-Reply-To: Precedence: bulk X-Mailing-List: kvmarm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20230217041230.2417228-1-yuzhao@google.com> <20230217041230.2417228-2-yuzhao@google.com> Message-ID: Subject: Re: [PATCH mm-unstable v1 1/5] mm/kvm: add mmu_notifier_test_clear_young() From: Sean Christopherson To: Yu Zhao Cc: Andrew Morton , Paolo Bonzini , Jonathan Corbet , Michael Larabel , kvmarm@lists.linux.dev, kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, x86@kernel.org, linux-mm@google.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On Thu, Feb 23, 2023, Yu Zhao wrote: > On Thu, Feb 23, 2023 at 10:14=E2=80=AFAM Sean Christopherson wrote: > > > > On Thu, Feb 16, 2023, Yu Zhao wrote: > > > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > > > index 9c60384b5ae0..1b465df4a93d 100644 > > > --- a/virt/kvm/kvm_main.c > > > +++ b/virt/kvm/kvm_main.c > > > @@ -875,6 +875,63 @@ static int kvm_mmu_notifier_clear_young(struct m= mu_notifier *mn, > > > return kvm_handle_hva_range_no_flush(mn, start, end, kvm_age_gf= n); > > > } > > > > > > +static bool kvm_test_clear_young(struct kvm *kvm, unsigned long star= t, > > > + unsigned long end, unsigned long *bitm= ap) > > > +{ > > > + int i; > > > + int key; > > > + bool success =3D true; > > > + > > > + trace_kvm_age_hva(start, end); > > > + > > > + key =3D srcu_read_lock(&kvm->srcu); > > > + > > > + for (i =3D 0; i < KVM_ADDRESS_SPACE_NUM; i++) { > > > + struct interval_tree_node *node; > > > + struct kvm_memslots *slots =3D __kvm_memslots(kvm, i); > > > + > > > + kvm_for_each_memslot_in_hva_range(node, slots, start, e= nd - 1) { > > > + gfn_t lsb_gfn; > > > + unsigned long hva_start, hva_end; > > > + struct kvm_gfn_range range =3D { > > > + .slot =3D container_of(node, struct kvm= _memory_slot, > > > + hva_node[slots->no= de_idx]), > > > + }; > > > + > > > + hva_start =3D max(start, range.slot->userspace_= addr); > > > + hva_end =3D min(end - 1, range.slot->userspace_= addr + > > > + range.slot->npages * PAG= E_SIZE - 1); > > > + > > > + range.start =3D hva_to_gfn_memslot(hva_start, r= ange.slot); > > > + range.end =3D hva_to_gfn_memslot(hva_end, range= .slot) + 1; > > > + > > > + if (WARN_ON_ONCE(range.end <=3D range.start)) > > > + continue; > > > > Extend __kvm_handle_hva_range() instead of copy-pasting. At a very qui= ck glance, > > I believe all that is needed is (minus sanity checks): >=20 > Yes, will do. >=20 > I do need to add one more parameter to kvm_gfn_range, because that's > what the current kvm_arch_test_clear_young() needs, assuming that > function is acceptable. >=20 > Also, just a side note, from MM's POV, the following in > __kvm_handle_hva_range() seems to forget to handle end =3D=3D 0, if that'= s > possible? It's handled by the WARN_ON_ONCE() at the very top: static __always_inline int __kvm_handle_hva_range(struct kvm *kvm, const struct kvm_hva_range *range) { if (WARN_ON_ONCE(range->end <=3D range->start)) return 0; >=20 > hva_end =3D min(range->end, slot->userspace_addr + (slot->npages << > PAGE_SHIFT)); 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]) (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 7D39CC61DA4 for ; Thu, 23 Feb 2023 21:13:24 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4PN5NL4YKfz3f3l for ; Fri, 24 Feb 2023 08:13:22 +1100 (AEDT) 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=20210112 header.b=cstTUl3c; 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::1049; helo=mail-pj1-x1049.google.com; envelope-from=3udb3ywykdgwcokxtmqyyqvo.mywvsxehzzm-nofvscdc.yjvklc.ybq@flex--seanjc.bounces.google.com; receiver=) 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=20210112 header.b=cstTUl3c; dkim-atps=neutral Received: from mail-pj1-x1049.google.com (mail-pj1-x1049.google.com [IPv6:2607:f8b0:4864:20::1049]) (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 4PN5MK6qFdz3bZx for ; Fri, 24 Feb 2023 08:12:27 +1100 (AEDT) Received: by mail-pj1-x1049.google.com with SMTP id ep2-20020a17090ae64200b0023699c4353eso195666pjb.6 for ; Thu, 23 Feb 2023 13:12:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; 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=jZqpqHNnDrkVf5YnH4C4p2Du+MWFI+rsSboHjRikfo0=; b=cstTUl3cDjETi7Uy5k8lUK4jDXVH5n84ULJ8Qdzf8KUig6GFtpHB7w0eoI8Plhg2NM 6FWa3l7sXNc+M6YDtvaFjXzlpRtWBMe5SojZXE91tPmgJMlFF/CW1ZZv81jiCr0fXexK lScdHryZlveE1J+z0J2TIi81MbXXQWHYdNInuM44+8VugSDN/fGG/tYGrW4Jcvq/Dl9n Ek7HnOVQiTB+e4FM6RTzQyIV1EEstxc2pOWecp5NaX9GOemJJxxrazzswOceIxFVcfln /s7eha+SalTSQycIbbCTH+sAFv5dgkYSrn8AD1goiYFHWVwKHCsyUeb7nev3pGjb/y5j CUrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=jZqpqHNnDrkVf5YnH4C4p2Du+MWFI+rsSboHjRikfo0=; b=BTDyK8d04IOSdgH6LAPZxKDwfJREf9sGVAJoaIt21cJPDLSMbIxQafQFSM8R0romNt K7cr21NOQDTfYiCwpyxrg/9XiX6S1AfJw6LaplhtCOQRnenLfc8dUh27qReiyJj3wX64 Lsup/KjxDCrSYf7KTZfAP3aE6Q2YZhgLrN5reCoNP/eM6r/gH5eHQQkpzJnBl4X20zfB L2/HZEXWmc6oMp5AfvhbciK4bb2zBRyUNoIctppGyj4b388wfUT6Jm7LeObbdkKGFEBg zMoqPwBVPnCJHQZ3kIbvtp+8gs2KE1OKhGreD/02GOsfEYcmd1rcuHTyOZ6Pw4UOx8d4 Peqw== X-Gm-Message-State: AO0yUKUSyiA0Ba7n7sWQZdC1RFBdCtUmW1yfn7MHKM2fz/HtD/BJPInr 3quZPh3ThY9wT0bsYPmorvqGTWiZlno= X-Google-Smtp-Source: AK7set8UOj7NygywK+cGr/Rmvj7I4XEunDNhPQJfW5dsIVprbIkkXYFIqYFcViXFQ9A3GP588Pa1F52horE= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a17:90a:fa4b:b0:237:2106:a861 with SMTP id dt11-20020a17090afa4b00b002372106a861mr826705pjb.0.1677186745595; Thu, 23 Feb 2023 13:12:25 -0800 (PST) Date: Thu, 23 Feb 2023 13:12:24 -0800 In-Reply-To: Mime-Version: 1.0 References: <20230217041230.2417228-1-yuzhao@google.com> <20230217041230.2417228-2-yuzhao@google.com> Message-ID: Subject: Re: [PATCH mm-unstable v1 1/5] mm/kvm: add mmu_notifier_test_clear_young() From: Sean Christopherson To: Yu Zhao Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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: linux-mm@google.com, kvm@vger.kernel.org, Jonathan Corbet , Michael Larabel , x86@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, kvmarm@lists.linux.dev, Paolo Bonzini , Andrew Morton , linuxppc-dev@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" On Thu, Feb 23, 2023, Yu Zhao wrote: > On Thu, Feb 23, 2023 at 10:14=E2=80=AFAM Sean Christopherson wrote: > > > > On Thu, Feb 16, 2023, Yu Zhao wrote: > > > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > > > index 9c60384b5ae0..1b465df4a93d 100644 > > > --- a/virt/kvm/kvm_main.c > > > +++ b/virt/kvm/kvm_main.c > > > @@ -875,6 +875,63 @@ static int kvm_mmu_notifier_clear_young(struct m= mu_notifier *mn, > > > return kvm_handle_hva_range_no_flush(mn, start, end, kvm_age_gf= n); > > > } > > > > > > +static bool kvm_test_clear_young(struct kvm *kvm, unsigned long star= t, > > > + unsigned long end, unsigned long *bitm= ap) > > > +{ > > > + int i; > > > + int key; > > > + bool success =3D true; > > > + > > > + trace_kvm_age_hva(start, end); > > > + > > > + key =3D srcu_read_lock(&kvm->srcu); > > > + > > > + for (i =3D 0; i < KVM_ADDRESS_SPACE_NUM; i++) { > > > + struct interval_tree_node *node; > > > + struct kvm_memslots *slots =3D __kvm_memslots(kvm, i); > > > + > > > + kvm_for_each_memslot_in_hva_range(node, slots, start, e= nd - 1) { > > > + gfn_t lsb_gfn; > > > + unsigned long hva_start, hva_end; > > > + struct kvm_gfn_range range =3D { > > > + .slot =3D container_of(node, struct kvm= _memory_slot, > > > + hva_node[slots->no= de_idx]), > > > + }; > > > + > > > + hva_start =3D max(start, range.slot->userspace_= addr); > > > + hva_end =3D min(end - 1, range.slot->userspace_= addr + > > > + range.slot->npages * PAG= E_SIZE - 1); > > > + > > > + range.start =3D hva_to_gfn_memslot(hva_start, r= ange.slot); > > > + range.end =3D hva_to_gfn_memslot(hva_end, range= .slot) + 1; > > > + > > > + if (WARN_ON_ONCE(range.end <=3D range.start)) > > > + continue; > > > > Extend __kvm_handle_hva_range() instead of copy-pasting. At a very qui= ck glance, > > I believe all that is needed is (minus sanity checks): >=20 > Yes, will do. >=20 > I do need to add one more parameter to kvm_gfn_range, because that's > what the current kvm_arch_test_clear_young() needs, assuming that > function is acceptable. >=20 > Also, just a side note, from MM's POV, the following in > __kvm_handle_hva_range() seems to forget to handle end =3D=3D 0, if that'= s > possible? It's handled by the WARN_ON_ONCE() at the very top: static __always_inline int __kvm_handle_hva_range(struct kvm *kvm, const struct kvm_hva_range *range) { if (WARN_ON_ONCE(range->end <=3D range->start)) return 0; >=20 > hva_end =3D min(range->end, slot->userspace_addr + (slot->npages << > PAGE_SHIFT)); 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 B826FC64ED8 for ; Thu, 23 Feb 2023 21:13:25 +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=zFUmT7gAAyKKb/aC3ADF5/RAKoogItVASOPDfqdGftQ=; b=gmZqZnoQf23nSnLw8E3BI397Q9 c2D9k4f7xuBlRhc5F6Jg+WDYUq8P4fPlrtfE2+pFYhb9KyeoL0FQd+jHTk6OBLjaDx2/qAqHiY9WQ zcccpe4aMuq8Ij5Y6BSGwKWgy6SMKfiaYum93PnpsPnOizgOZX+l3cX/eWTY36wor2BJS2NzfWVAZ PV9bKha/x8tdrH02kggZSwc7Z7Qma2HlDGJfwgtCIKQL0NOfDrZFAEktyqB6JyU1SWCj6zzXxnUEk y7rtsNyePfQWAJLRpkVSR7xz+S2hv5qmbY7U9IYl58gJuYD7nEuewT+AwQhZD/bEj1S3CPzHHZ6FX rBraBUXA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pVItC-000Lvk-AQ; Thu, 23 Feb 2023 21:12:30 +0000 Received: from mail-pj1-x1049.google.com ([2607:f8b0:4864:20::1049]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pVIt9-000LuZ-7R for linux-arm-kernel@lists.infradead.org; Thu, 23 Feb 2023 21:12:28 +0000 Received: by mail-pj1-x1049.google.com with SMTP id x10-20020a17090a6b4a00b002342e23955cso195581pjl.7 for ; Thu, 23 Feb 2023 13:12:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; 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=jZqpqHNnDrkVf5YnH4C4p2Du+MWFI+rsSboHjRikfo0=; b=cstTUl3cDjETi7Uy5k8lUK4jDXVH5n84ULJ8Qdzf8KUig6GFtpHB7w0eoI8Plhg2NM 6FWa3l7sXNc+M6YDtvaFjXzlpRtWBMe5SojZXE91tPmgJMlFF/CW1ZZv81jiCr0fXexK lScdHryZlveE1J+z0J2TIi81MbXXQWHYdNInuM44+8VugSDN/fGG/tYGrW4Jcvq/Dl9n Ek7HnOVQiTB+e4FM6RTzQyIV1EEstxc2pOWecp5NaX9GOemJJxxrazzswOceIxFVcfln /s7eha+SalTSQycIbbCTH+sAFv5dgkYSrn8AD1goiYFHWVwKHCsyUeb7nev3pGjb/y5j CUrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=jZqpqHNnDrkVf5YnH4C4p2Du+MWFI+rsSboHjRikfo0=; b=UR+ZSK4dS8NShN+y2lpJeGBoZTfp7fIYIi3ll5tzV2i/RyAK8+uMUsRoIa/EKDBfyY /iXRZQFAqqRTJMVJfeZuPh9PCCJsQmhv4dPRayqh0g/zkorscLWfNtKPSmCaSda48Pbz q/MzN0QQjUELneSlUVIeDnmNh9LICOv4w/VHn+MurmzHwHdjjU7nMA7ZjvWalaSON+pf 19WCAgcTwkEaO9HXmOINX6rE1fgLmhB5AqgpBoU5DsD1kaqvuor5PTBVcdGbJ3wOFfnP IpZOF/Z3NvezaQ7gqPzy/MVHaS6cAlnAbhjF1QjX9fY5oqsggjL2LpFIsFlMNkUqjiSs hi/Q== X-Gm-Message-State: AO0yUKUpIlHEyXmC48a6W92GIFYRC5PL0pCvMbw2+LWFQLIvwT5IfLV4 XW7RWgmyi7in7YbnfcdAW92p0LNTHAk= X-Google-Smtp-Source: AK7set8UOj7NygywK+cGr/Rmvj7I4XEunDNhPQJfW5dsIVprbIkkXYFIqYFcViXFQ9A3GP588Pa1F52horE= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a17:90a:fa4b:b0:237:2106:a861 with SMTP id dt11-20020a17090afa4b00b002372106a861mr826705pjb.0.1677186745595; Thu, 23 Feb 2023 13:12:25 -0800 (PST) Date: Thu, 23 Feb 2023 13:12:24 -0800 In-Reply-To: Mime-Version: 1.0 References: <20230217041230.2417228-1-yuzhao@google.com> <20230217041230.2417228-2-yuzhao@google.com> Message-ID: Subject: Re: [PATCH mm-unstable v1 1/5] mm/kvm: add mmu_notifier_test_clear_young() From: Sean Christopherson To: Yu Zhao Cc: Andrew Morton , Paolo Bonzini , Jonathan Corbet , Michael Larabel , kvmarm@lists.linux.dev, kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, x86@kernel.org, linux-mm@google.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230223_131227_289165_FFAFFC04 X-CRM114-Status: GOOD ( 20.08 ) 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="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBGZWIgMjMsIDIwMjMsIFl1IFpoYW8gd3JvdGU6Cj4gT24gVGh1LCBGZWIgMjMsIDIw MjMgYXQgMTA6MTTigK9BTSBTZWFuIENocmlzdG9waGVyc29uIDxzZWFuamNAZ29vZ2xlLmNvbT4g d3JvdGU6Cj4gPgo+ID4gT24gVGh1LCBGZWIgMTYsIDIwMjMsIFl1IFpoYW8gd3JvdGU6Cj4gPiA+ IGRpZmYgLS1naXQgYS92aXJ0L2t2bS9rdm1fbWFpbi5jIGIvdmlydC9rdm0va3ZtX21haW4uYwo+ ID4gPiBpbmRleCA5YzYwMzg0YjVhZTAuLjFiNDY1ZGY0YTkzZCAxMDA2NDQKPiA+ID4gLS0tIGEv dmlydC9rdm0va3ZtX21haW4uYwo+ID4gPiArKysgYi92aXJ0L2t2bS9rdm1fbWFpbi5jCj4gPiA+ IEBAIC04NzUsNiArODc1LDYzIEBAIHN0YXRpYyBpbnQga3ZtX21tdV9ub3RpZmllcl9jbGVhcl95 b3VuZyhzdHJ1Y3QgbW11X25vdGlmaWVyICptbiwKPiA+ID4gICAgICAgcmV0dXJuIGt2bV9oYW5k bGVfaHZhX3JhbmdlX25vX2ZsdXNoKG1uLCBzdGFydCwgZW5kLCBrdm1fYWdlX2dmbik7Cj4gPiA+ ICB9Cj4gPiA+Cj4gPiA+ICtzdGF0aWMgYm9vbCBrdm1fdGVzdF9jbGVhcl95b3VuZyhzdHJ1Y3Qg a3ZtICprdm0sIHVuc2lnbmVkIGxvbmcgc3RhcnQsCj4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBsb25nIGVuZCwgdW5zaWduZWQgbG9uZyAqYml0bWFwKQo+ID4g PiArewo+ID4gPiArICAgICBpbnQgaTsKPiA+ID4gKyAgICAgaW50IGtleTsKPiA+ID4gKyAgICAg Ym9vbCBzdWNjZXNzID0gdHJ1ZTsKPiA+ID4gKwo+ID4gPiArICAgICB0cmFjZV9rdm1fYWdlX2h2 YShzdGFydCwgZW5kKTsKPiA+ID4gKwo+ID4gPiArICAgICBrZXkgPSBzcmN1X3JlYWRfbG9jaygm a3ZtLT5zcmN1KTsKPiA+ID4gKwo+ID4gPiArICAgICBmb3IgKGkgPSAwOyBpIDwgS1ZNX0FERFJF U1NfU1BBQ0VfTlVNOyBpKyspIHsKPiA+ID4gKyAgICAgICAgICAgICBzdHJ1Y3QgaW50ZXJ2YWxf dHJlZV9ub2RlICpub2RlOwo+ID4gPiArICAgICAgICAgICAgIHN0cnVjdCBrdm1fbWVtc2xvdHMg KnNsb3RzID0gX19rdm1fbWVtc2xvdHMoa3ZtLCBpKTsKPiA+ID4gKwo+ID4gPiArICAgICAgICAg ICAgIGt2bV9mb3JfZWFjaF9tZW1zbG90X2luX2h2YV9yYW5nZShub2RlLCBzbG90cywgc3RhcnQs IGVuZCAtIDEpIHsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGdmbl90IGxzYl9nZm47Cj4g PiA+ICsgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGh2YV9zdGFydCwgaHZhX2Vu ZDsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrdm1fZ2ZuX3JhbmdlIHJhbmdl ID0gewo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2xvdCA9IGNvbnRhaW5l cl9vZihub2RlLCBzdHJ1Y3Qga3ZtX21lbW9yeV9zbG90LAo+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodmFfbm9kZVtzbG90cy0+bm9kZV9p ZHhdKSwKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIH07Cj4gPiA+ICsKPiA+ID4gKyAgICAg ICAgICAgICAgICAgICAgIGh2YV9zdGFydCA9IG1heChzdGFydCwgcmFuZ2Uuc2xvdC0+dXNlcnNw YWNlX2FkZHIpOwo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgaHZhX2VuZCA9IG1pbihlbmQg LSAxLCByYW5nZS5zbG90LT51c2Vyc3BhY2VfYWRkciArCj4gPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlLnNsb3QtPm5wYWdlcyAqIFBBR0VfU0la RSAtIDEpOwo+ID4gPiArCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICByYW5nZS5zdGFydCA9 IGh2YV90b19nZm5fbWVtc2xvdChodmFfc3RhcnQsIHJhbmdlLnNsb3QpOwo+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgcmFuZ2UuZW5kID0gaHZhX3RvX2dmbl9tZW1zbG90KGh2YV9lbmQsIHJh bmdlLnNsb3QpICsgMTsKPiA+ID4gKwo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgaWYgKFdB Uk5fT05fT05DRShyYW5nZS5lbmQgPD0gcmFuZ2Uuc3RhcnQpKQo+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb250aW51ZTsKPiA+Cj4gPiBFeHRlbmQgX19rdm1faGFuZGxlX2h2 YV9yYW5nZSgpIGluc3RlYWQgb2YgY29weS1wYXN0aW5nLiAgQXQgYSB2ZXJ5IHF1aWNrIGdsYW5j ZSwKPiA+IEkgYmVsaWV2ZSBhbGwgdGhhdCBpcyBuZWVkZWQgaXMgKG1pbnVzIHNhbml0eSBjaGVj a3MpOgo+IAo+IFllcywgd2lsbCBkby4KPiAKPiBJIGRvIG5lZWQgdG8gYWRkIG9uZSBtb3JlIHBh cmFtZXRlciB0byBrdm1fZ2ZuX3JhbmdlLCBiZWNhdXNlIHRoYXQncwo+IHdoYXQgdGhlIGN1cnJl bnQga3ZtX2FyY2hfdGVzdF9jbGVhcl95b3VuZygpIG5lZWRzLCBhc3N1bWluZyB0aGF0Cj4gZnVu Y3Rpb24gaXMgYWNjZXB0YWJsZS4KPiAKPiBBbHNvLCBqdXN0IGEgc2lkZSBub3RlLCBmcm9tIE1N J3MgUE9WLCB0aGUgZm9sbG93aW5nIGluCj4gX19rdm1faGFuZGxlX2h2YV9yYW5nZSgpIHNlZW1z IHRvIGZvcmdldCB0byBoYW5kbGUgZW5kID09IDAsIGlmIHRoYXQncwo+IHBvc3NpYmxlPwoKSXQn cyBoYW5kbGVkIGJ5IHRoZSBXQVJOX09OX09OQ0UoKSBhdCB0aGUgdmVyeSB0b3A6CgpzdGF0aWMg X19hbHdheXNfaW5saW5lIGludCBfX2t2bV9oYW5kbGVfaHZhX3JhbmdlKHN0cnVjdCBrdm0gKmt2 bSwKCQkJCQkJICBjb25zdCBzdHJ1Y3Qga3ZtX2h2YV9yYW5nZSAqcmFuZ2UpCnsKCWlmIChXQVJO X09OX09OQ0UocmFuZ2UtPmVuZCA8PSByYW5nZS0+c3RhcnQpKQoJCXJldHVybiAwOwoKCj4gCj4g ICBodmFfZW5kID0gbWluKHJhbmdlLT5lbmQsIHNsb3QtPnVzZXJzcGFjZV9hZGRyICsgKHNsb3Qt Pm5wYWdlcyA8PAo+IFBBR0VfU0hJRlQpKTsKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFy bS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK