[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89i+U0=YrwoUSASejsS37EiXO7dKR25Vx04at3PqGA1EpHA@mail.gmail.com>
Date: Mon, 27 Oct 2014 19:46:20 -0700
From: Eric Dumazet <edumazet@...gle.com>
To: Christoph Lameter <cl@...ux.com>
Cc: Jesper Dangaard Brouer <brouer@...hat.com>,
Eric Dumazet <eric.dumazet@...il.com>,
Alexander Duyck <alexander.duyck@...il.com>,
Alexei Starovoitov <ast@...mgrid.com>,
Network Development <netdev@...r.kernel.org>
Subject: Re: irq disable in __netdev_alloc_frag() ?
On Mon, Oct 27, 2014 at 7:30 PM, Christoph Lameter <cl@...ux.com> wrote:
> On Mon, 27 Oct 2014, Jesper Dangaard Brouer wrote:
>
>> > Same could be done with some kmem_cache_alloc() : SLAB uses hard irq
>> > masking while some caches are never used from hard irq context.
>>
>> Sounds interesting.
>
> SLUB does not disable interrupts in the fast paths.
>
Unfortunately, SLUB is more expensive than SLAB for many networking workloads.
The cost of disabling interrupts is pure noise compared to cache line misses.
SLUB has poor behavior compared to SLAB with alien caches,
even with the side effect that 'struct page' is 64 bytes aligned
instead of being 56 bytes with SLAB
Note that I am not doing SLUB/SLAB tests every day, so it might be
better nowadays.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists