* Linus Torvalds <[email protected]> wrote:

> On Mon, Feb 20, 2017 at 1:54 AM, Ingo Molnar <[email protected]> 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

Reply via email to