[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170220223844.GA12642@gmail.com>
Date: Mon, 20 Feb 2017 23:38:44 +0100
From: Ingo Molnar <mingo@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Thomas Gleixner <tglx@...utronix.de>,
"Paul E. McKenney" <paulmck@...ibm.com>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [GIT PULL] locking changes for v4.11
* Linus Torvalds <torvalds@...ux-foundation.org> wrote:
> On Mon, Feb 20, 2017 at 1:54 AM, Ingo Molnar <mingo@...nel.org> wrote:
> >
> > - Implement wraparound-safe refcount_t and kref_t types based on generic atomic
> > primitives (Peter Zijlstra)
>
> Ugh. This apparently never got the uninlining fixes?
Yeah, will fix it ASAP!
> I've pulled it, but I still don't like the inlining. Particularly with
> CONFIG_DEBUG_REFCOUNT it generates obnnoxious code, but even without
> the debugging there's just no point in it.
>
> Being inlined also means that architectures cannot optimize it, which
> is sad. If you have a LL/SC model for atomics, then using
> atomic_cmpxchg_relaxed() for the refcounting is just too stupid for
> words.
>
> So I continue to think this code should
>
> (a) be in lib/refcount.c, with just the declarations in the header
> file (oh, keep the "set" and "read" functions inline by all means)
>
> (b) be marked __weak, so that architectures like ARM/PPC can decide
> to do their own improved implementations.
Yeah, agreed, will do.
> But as mentioned, it's in my tree as-is now and going through the build test.
Thanks!
Ingo
Powered by blists - more mailing lists