Re: Store Buffers (was Re: Is it OK to pass non-acquired objects to kfree?)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/10/2015 03:47 AM, Christoph Lameter wrote:
> On Wed, 9 Sep 2015, Paul E. McKenney wrote:
> 
>> > But then again kfree() contains a barrier() which would block the compiler
>> > from moving anything into the free path.
>>
>> That barrier() is implicit in the fact that kfree() is an external
>> function?  Or are my eyes failing me?

Is the "external function" not enough? Does it change e.g. with LTO, or is that
also subject to the aliasing rules (which I admit not knowing exactly)?

> 
> kfree at some point calls slab_free(). That function has a barrier. All
> free operations go through it.

SLAB doesn't have such barrier AFAICS. It will put the object on per-cpu cache
and that's it. Only flushing the full cache takes a spin lock.

> 
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>
> 

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]