Hello,

This week I have tested my CPU topology detection on different platforms
and I found some bugs and fix them on AMD (thanks to profmakx from IRC for
giving me access to his 8-core AMD bulldozer).
I also implemented a schedule policy as following:
- when a process is scheduled, it first looks for free CPUs, which have
their sibling free too (both threads are free)
- if not found, then it searches for the process who has the lowest
lwp_batch (so a process which is not so CPU hungry)
- added a sysctl option to enable/disable the HT awareness of the schedule.
Also a little refactoring: created a sysctl branch usched_bsd4 where I
added all usched_bsd4 specific parameters.

Those two rules stabilized the time needed to run when there are only two
processes (they are scheduled on different cores). I will come tomorrow in
the afternoon with some tests.

I will continue testing my implementations on vkernels and compiling
without SMP support (I found that there are some compile problems).

Thanks,
Mihai C.

Reply via email to