Benchmarks on schedlock patch

May 5th, 2007


Diego Sardina did some benchmarks with my schedlock decomposition patch. I just was courious to see what impact this patch has on UP machine and results are not encouraging:

These tests have been executed on a Celeron 2.4 GHz with libthr and SCHED_ULE (and so PREEMPTION).

The first culprit for that should be the approach followed for locking getrusage which doesn’t take full advantage by the current kernel CVS code (while should perform a little bit better with SMP systems), that I hope should work better when merged with Jeff’s patch. However, an alternative approach for locking rusage is quite ready and will be benchmarked soon (I’m just waiting for current approach SMP benchmarks to be ready before to try the next).

That’s all for tonight.

hammering lock structures

April 23rd, 2007

In the past days I worked on a fix for lock sizes mismatching between userspace/kernelspace which reveleated a very hard way.

Basically, lock_init() is called very early in the bootstrap code and a simple counter revealed that 8165 locks (FreeBSD-ia32, WITNESS, LOCK_PROFILING, INVARIANTS, DDB enabled) are initialized before that VM is set up and ready for working so we should have a very huge pool of pre-allocated external objects to be used in debugging kernel. The lock-free allocator (in a first moment extracting from the pool and when VM is ready fork working using malloc) is quite ready.

For the moment I want to better study and tuning an appropriate value for that pool.

Hello World

April 15th, 2007

Hello guys,

I’m Attilio and I will work on improving lockmgr kernel syncronization primitives for this summer.

If you want to know more about lockmgr, please check for your manpage and possibly for the kernel code, located in sys/kern/kern_lock.c and sys/sys/lockmgr.h, so if you have any ideas, comments, feedbacks, just let me know.

That’s all for tonight.