* Eric Dumazet <[email protected]> wrote:
> >while it could possibly be cleaned up a bit, it's one of the
> >best-optimized subsystems Linux has. Most of the "unnecessary
> >complexity" in SLAB is related to a performance or a debugging feature.
> >Many times i have looked at the SLAB code in a disassembler, right next
> >to profile output from some hot workload, and have concluded: 'I couldnt
> >do this any better even with hand-coded assembly'.
>
> Well, I miss a version of kmem_cache_alloc()/kmem_cache_free() that
> wont play with IRQ masking.
sure, but adding this sure wont reduce complexity ;)
> The local_irq_save()/local_irq_restore() pair is quite expensive and
> could be avoided for several caches that are exclusively used in
> process context.
in any case, on sane platforms (i386, x86_64) an irq-disable is
well-optimized in hardware, and is just as fast as a preempt_disable().
Combined with the fact that CLI/STI has no register side-effects, it can
even be faster/cheaper, on x86 at least.
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]