Messages in this thread | | | Subject | Re: use-after-free in sock_wake_async | From | Eric Dumazet <> | Date | Thu, 26 Nov 2015 09:29:19 -0800 |
| |
On Thu, 2015-11-26 at 18:03 +0100, Hannes Frederic Sowa wrote:
> Also isn't the reason why slub exists so it can track memory regions > per-cpu.
call_rcu() and kfree_rcu() will add a grace period (multiple ms) where the cpu will likely evict from its caches the data contained in the 'about to be freed' objects, defeating the SLUB/SLAB ability to quickly reuse a freed and hot object (LIFO)
This is one of the major RCU drawback : Force a FIFO behavior in object reuse while LIFO one is much better for data locality, especially with per-cpu lists.
Another problem is a slightly bigger working set size, which can hurt some workloads that used to exactly fit cpu caches.
| |