Re: namei() query

From: kumon@flab.fujitsu.co.jp
Date: Fri Apr 21 2000 - 19:52:58 EST


Jeff Garzik writes:
> When benchmarking 2.3.x make sure to turn off 2.3.x debugging checks..
>
> Here are some debug switches that I found by grepping around. waitqueue
> debugging should be turned off, at the very least...
> SLAB_DEBUGGING_SUPPORT should probably be deleted from the list. etc..

>
> include/asm-i386/highmem.h:HIGHMEM_DEBUG

         We don't use highmem, highmem doe'snt gain any speed-up in the
        benchmarking. Removing highmem makes thing simple.

> include/asm-i386/spinlock.h:SPINLOCK_DEBUG

        Actually, this debug code hurts parallel performance, not
        because of the dynamic step count, but of the cashe pllusion.
        This needs extra bus transactions, We've observed the bus.
        If spin-lock signature and the lock variable are split into
        different cache-blocks (make the distance not less than 32B
        in X86 case), the performance increases a few percent.
        Other performance loss related to kernel-lock is spin-unlock.
        
        Spin-unlock is much worse case.
        As stated in i386/spinlock.h "movb $0,%0" is far better than
        "lock ; btrl $0,%0", mostly because of instruction serialization
        caused by the locked operation.
        We use simple moveb for the unlocking in our executino.
        Actually, I think this should be a kernel option.
        Separate CPU stepping check may prevent wrong CPU on the code.

I forget to mention that our observations are wholely based on i386 porting.
This is obvious for all of you.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Apr 23 2000 - 21:00:20 EST