Messages in this thread | | | Date | Wed, 21 Dec 2005 08:43:46 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH RT 00/02] SLOB optimizations |
| |
* Eric Dumazet <dada1@cosmosbay.com> 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |