From: Leonardo Bras <leonardo@linux.ibm.com> To: John Hubbard <jhubbard@nvidia.com>, Benjamin Herrenschmidt <benh@kernel.crashing.org>, Paul Mackerras <paulus@samba.org>, Michael Ellerman <mpe@ellerman.id.au>, Arnd Bergmann <arnd@arndb.de>, Andrew Morton <akpm@linux-foundation.org>, "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>, Nicholas Piggin <npiggin@gmail.com>, Christophe Leroy <christophe.leroy@c-s.fr>, Steven Price <steven.price@arm.com>, Robin Murphy <robin.murphy@arm.com>, Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>, Balbir Singh <bsingharora@gmail.com>, Reza Arbab <arbab@linux.ibm.com>, Thomas Gleixner <tglx@linutronix.de>, Allison Randal <allison@lohutok.net>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Mike Rapoport <rppt@linux.ibm.com>, Michal Suchanek <msuchanek@suse.d> Cc: linux-arch@vger.kernel.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, kvm-ppc@vger.kernel.org Subject: Re: [PATCH v6 02/11] mm/gup: Use functions to track lockless pgtbl walks on gup_pgd_range Date: Mon, 17 Feb 2020 17:55:49 -0300 [thread overview] Message-ID: <d0789485cc353a99e19c2d2ca4b5a628a33a312d.camel@linux.ibm.com> (raw) In-Reply-To: <0c2f5a89-4890-fd84-6a6d-e470ba110399@nvidia.com> [-- Attachment #1: Type: text/plain, Size: 1235 bytes --] Hello John, comments inline; On Fri, 2020-02-07 at 14:54 -0800, John Hubbard wrote: > On 2/5/20 7:25 PM, Leonardo Bras wrote: > > On Thu, 2020-02-06 at 00:08 -0300, Leonardo Bras wrote: > > > gup_pgd_range(addr, end, gup_flags, pages, &nr); > > > - local_irq_enable(); > > > + end_lockless_pgtbl_walk(IRQS_ENABLED); > > > ret = nr; > > > } > > > > > > > Just noticed IRQS_ENABLED is not available on other archs than ppc64. > > I will fix this for v7. > > > > What's the fix going to look like, approximately? I am not sure what is the best approach yet. 1. On irq_mask == 0, always enable irq on end_lockless_pgtbl_walk(). Not sure how bat would that affect other archs. 2. Add another function like end_lockless_pgtbl_walk_irqen() that always enables IRQ. 3. Add another parameter in end_lockless_pgtbl_walk(), so that caller can choose ii IRQ must be enabled. Also, not sure if internal_get_user_pages_fast() can possibly be called with IRQ disabled, and then return with it enabled. Maybe just saving/restoring should be fine. Other suggestions are welcome. > > > thanks, Best regards, Leonardo Bras [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 833 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Leonardo Bras <leonardo@linux.ibm.com> To: John Hubbard <jhubbard@nvidia.com>, Benjamin Herrenschmidt <benh@kernel.crashing.org>, Paul Mackerras <paulus@samba.org>, Michael Ellerman <mpe@ellerman.id.au>, Arnd Bergmann <arnd@arndb.de>, Andrew Morton <akpm@linux-foundation.org>, "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>, Nicholas Piggin <npiggin@gmail.com>, Christophe Leroy <christophe.leroy@c-s.fr>, Steven Price <steven.price@arm.com>, Robin Murphy <robin.murphy@arm.com>, Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>, Balbir Singh <bsingharora@gmail.com>, Reza Arbab <arbab@linux.ibm.com>, Thomas Gleixner <tglx@linutronix.de>, Allison Randal <allison@lohutok.net>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Mike Rapoport <rppt@linux.ibm.com>, Michal Suchanek <msuchanek@suse.de> Cc: linux-arch@vger.kernel.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, kvm-ppc@vger.kernel.org Subject: Re: [PATCH v6 02/11] mm/gup: Use functions to track lockless pgtbl walks on gup_pgd_range Date: Mon, 17 Feb 2020 17:55:49 -0300 [thread overview] Message-ID: <d0789485cc353a99e19c2d2ca4b5a628a33a312d.camel@linux.ibm.com> (raw) Message-ID: <20200217205549.I1xqYPZ6SarsV8mBS-eCT2ktur-Iwl3Jx_BHet9I-1E@z> (raw) In-Reply-To: <0c2f5a89-4890-fd84-6a6d-e470ba110399@nvidia.com> [-- Attachment #1: Type: text/plain, Size: 1235 bytes --] Hello John, comments inline; On Fri, 2020-02-07 at 14:54 -0800, John Hubbard wrote: > On 2/5/20 7:25 PM, Leonardo Bras wrote: > > On Thu, 2020-02-06 at 00:08 -0300, Leonardo Bras wrote: > > > gup_pgd_range(addr, end, gup_flags, pages, &nr); > > > - local_irq_enable(); > > > + end_lockless_pgtbl_walk(IRQS_ENABLED); > > > ret = nr; > > > } > > > > > > > Just noticed IRQS_ENABLED is not available on other archs than ppc64. > > I will fix this for v7. > > > > What's the fix going to look like, approximately? I am not sure what is the best approach yet. 1. On irq_mask == 0, always enable irq on end_lockless_pgtbl_walk(). Not sure how bat would that affect other archs. 2. Add another function like end_lockless_pgtbl_walk_irqen() that always enables IRQ. 3. Add another parameter in end_lockless_pgtbl_walk(), so that caller can choose ii IRQ must be enabled. Also, not sure if internal_get_user_pages_fast() can possibly be called with IRQ disabled, and then return with it enabled. Maybe just saving/restoring should be fine. Other suggestions are welcome. > > > thanks, Best regards, Leonardo Bras [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2020-02-17 20:56 UTC|newest] Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-02-06 3:08 [PATCH v6 00/11] Introduces new functions for tracking lockless pagetable walks Leonardo Bras 2020-02-06 3:08 ` Leonardo Bras 2020-02-06 3:08 ` [PATCH v6 01/11] asm-generic/pgtable: Adds generic functions to track lockless pgtable walks Leonardo Bras 2020-02-06 3:08 ` Leonardo Bras 2020-02-06 5:54 ` Christophe Leroy 2020-02-06 5:54 ` Christophe Leroy 2020-02-07 2:19 ` Leonardo Bras 2020-02-07 2:19 ` Leonardo Bras 2020-02-07 5:39 ` kbuild test robot 2020-02-07 5:39 ` kbuild test robot 2020-02-06 3:08 ` [PATCH v6 02/11] mm/gup: Use functions to track lockless pgtbl walks on gup_pgd_range Leonardo Bras 2020-02-06 3:08 ` Leonardo Bras 2020-02-06 3:25 ` Leonardo Bras 2020-02-06 3:25 ` Leonardo Bras 2020-02-07 22:54 ` John Hubbard 2020-02-07 22:54 ` John Hubbard 2020-02-17 20:55 ` Leonardo Bras [this message] 2020-02-17 20:55 ` Leonardo Bras 2020-10-15 14:46 ` Michal Suchánek 2020-10-16 3:27 ` Aneesh Kumar K.V 2020-02-07 1:19 ` kbuild test robot 2020-02-07 1:19 ` kbuild test robot 2020-02-07 8:01 ` kbuild test robot 2020-02-07 8:01 ` kbuild test robot 2020-02-06 3:08 ` [PATCH v6 03/11] powerpc/mm: Adds arch-specificic functions to track lockless pgtable walks Leonardo Bras 2020-02-06 3:08 ` Leonardo Bras 2020-02-06 5:46 ` Christophe Leroy 2020-02-06 5:46 ` Christophe Leroy 2020-02-07 4:38 ` Leonardo Bras 2020-02-07 4:38 ` Leonardo Bras 2020-02-17 20:32 ` Leonardo Bras 2020-02-17 20:32 ` Leonardo Bras 2020-02-06 3:08 ` [PATCH v6 04/11] powerpc/mce_power: Use functions to track lockless pgtbl walks Leonardo Bras 2020-02-06 3:08 ` Leonardo Bras 2020-02-06 5:48 ` Christophe Leroy 2020-02-06 5:48 ` Christophe Leroy 2020-02-07 4:00 ` Leonardo Bras 2020-02-07 4:00 ` Leonardo Bras 2020-02-06 3:08 ` [PATCH v6 05/11] powerpc/perf: " Leonardo Bras 2020-02-06 3:08 ` Leonardo Bras 2020-02-06 3:08 ` [PATCH v6 06/11] powerpc/mm/book3s64/hash: " Leonardo Bras 2020-02-06 3:08 ` Leonardo Bras 2020-02-06 6:06 ` Christophe Leroy 2020-02-06 6:06 ` Christophe Leroy 2020-02-07 3:49 ` Leonardo Bras 2020-02-07 3:49 ` Leonardo Bras 2020-02-06 3:08 ` [PATCH v6 07/11] powerpc/kvm/e500: " Leonardo Bras 2020-02-06 3:08 ` Leonardo Bras 2020-02-06 6:18 ` Christophe Leroy 2020-02-06 6:18 ` Christophe Leroy 2020-02-07 3:10 ` Leonardo Bras 2020-02-07 3:10 ` Leonardo Bras 2020-02-06 3:08 ` [PATCH v6 08/11] powerpc/kvm/book3s_hv: " Leonardo Bras 2020-02-06 3:08 ` Leonardo Bras 2020-02-06 3:08 ` [PATCH v6 09/11] powerpc/kvm/book3s_64: " Leonardo Bras 2020-02-06 3:08 ` Leonardo Bras 2020-02-06 3:08 ` [PATCH v6 10/11] powerpc/mm: Adds counting method to track lockless pagetable walks Leonardo Bras 2020-02-06 3:08 ` Leonardo Bras 2020-02-06 6:23 ` Christophe Leroy 2020-02-06 6:23 ` Christophe Leroy 2020-02-07 1:56 ` Leonardo Bras 2020-02-07 1:56 ` Leonardo Bras 2020-02-06 3:09 ` [PATCH v6 11/11] powerpc/mm/book3s64/pgtable: Uses counting method to skip serializing Leonardo Bras 2020-02-06 3:09 ` Leonardo Bras
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=d0789485cc353a99e19c2d2ca4b5a628a33a312d.camel@linux.ibm.com \ --to=leonardo@linux.ibm.com \ --cc=akpm@linux-foundation.org \ --cc=allison@lohutok.net \ --cc=aneesh.kumar@linux.ibm.com \ --cc=arbab@linux.ibm.com \ --cc=arnd@arndb.de \ --cc=benh@kernel.crashing.org \ --cc=bsingharora@gmail.com \ --cc=christophe.leroy@c-s.fr \ --cc=gregkh@linuxfoundation.org \ --cc=jhubbard@nvidia.com \ --cc=kvm-ppc@vger.kernel.org \ --cc=linux-arch@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=mahesh@linux.vnet.ibm.com \ --cc=mpe@ellerman.id.au \ --cc=msuchanek@suse.d \ --cc=npiggin@gmail.com \ --cc=paulus@samba.org \ --cc=robin.murphy@arm.com \ --cc=rppt@linux.ibm.com \ --cc=steven.price@arm.com \ --cc=tglx@linutronix.de \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).