[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2533a13f226a6e1fab387669b6cced2aa8d2e129.camel@linux.ibm.com>
Date: Mon, 30 Sep 2019 12:14:31 -0300
From: Leonardo Bras <leonardo@...ux.ibm.com>
To: John Hubbard <jhubbard@...dia.com>, linuxppc-dev@...ts.ozlabs.org,
linux-kernel@...r.kernel.org, kvm-ppc@...r.kernel.org,
linux-arch@...r.kernel.org, linux-mm@...ck.org
Cc: Keith Busch <keith.busch@...el.com>,
Thomas Gleixner <tglx@...utronix.de>,
Arnd Bergmann <arnd@...db.de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
YueHaibing <yuehaibing@...wei.com>,
Nicholas Piggin <npiggin@...il.com>,
Mike Rapoport <rppt@...ux.ibm.com>,
Mahesh Salgaonkar <mahesh@...ux.vnet.ibm.com>,
Jason Gunthorpe <jgg@...pe.ca>,
Paul Mackerras <paulus@...ba.org>,
"Aneesh Kumar K.V" <aneesh.kumar@...ux.ibm.com>,
Ganesh Goudar <ganeshgr@...ux.ibm.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Ira Weiny <ira.weiny@...el.com>,
Dan Williams <dan.j.williams@...el.com>,
Allison Randal <allison@...utok.net>
Subject: Re: [PATCH v4 01/11] powerpc/mm: Adds counting method to monitor
lockless pgtable walks
On Sun, 2019-09-29 at 15:40 -0700, John Hubbard wrote:
> Hi, Leonardo,
Hello John, thanks for the feedback.
> Can we please do it as shown below, instead (compile-tested only)?
>
> This addresses all of the comments that I was going to make about structure
> of this patch, which are:
>
> * The lockless synch is tricky, so it should be encapsulated in function
> calls if possible.
As I told before, there are cases where this function is called from
'real mode' in powerpc, which doesn't disable irqs and may have a
tricky behavior if we do. So, encapsulate the irq disable in this
function can be a bad choice.
Of course, if we really need that, we can add a bool parameter to the
function to choose about disabling/enabling irqs.
>
> * This is really a core mm function, so don't hide it away in arch layers.
> (If you're changing mm/ files, that's a big hint.)
My idea here is to let the arch decide on how this 'register' is going
to work, as archs may have different needs (in powerpc for example, we
can't always disable irqs, since we may be in realmode).
Maybe we can create a generic function instead of a dummy, and let it
be replaced in case the arch needs to do so.
> * Other things need parts of this: gup.c needs the memory barriers; IMHO you'll
> be fixing a pre-existing, theoretical (we've never seen bug reports) problem.
Humm, you are right. Here I would suggest adding the barrier to the
generic function.
> * The documentation needs to accurately explain what's going on here.
Yes, my documentation was probably not good enough due to my lack of
experience with memory barriers (I learnt about using them last week,
and tried to come with the best solution.)
> (Not shown: one or more of the PPC Kconfig files should select
> LOCKLESS_PAGE_TABLE_WALK_TRACKING.)
The way it works today is defining it on platform pgtable.h. I agree
that using Kconfig may be a better solution that can make this config
more visible to disable/enable.
Thanks for the feedback,
Leonardo Bras
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists