Hi,

I've pushed some of my recent changes to launchpad. It
currently includes particularly:

1) A preemptible rcu (unlike the algos described in my past
rcu review mail) implementation as well as stress tests
and a couple of tests targeted at corner/special cases.
Run "test rcu1" to run the tests. To see basic statistics
type "rcu" in the kernel console.

2) A workqueue/thread pool that expands and shrinks depanding
on the current load and blocking/sleeping of work functions.
Run "test workqueue" to stress test. "workq" in the kconsole
again shows some state.

The work queue tries to minimize creating/destroying and
sleeping/waking up of work queue threads. It can be used if
an rcu callback needs to block (which it is not allowed to
directly from the callback invoked by rcu_call). Moreover, it
will be used to resize hash tables in the background.

3) Some minor additions. Eg a facility to call functions
on other cpus (built on top of IPIs) and wait for them
to return. "test smpcall1" runs tests.

Bear in mind that all tests were conducted in qemu on my
Pentium M machine (ia32, uniprocessor, lacking hardware
virtualization).

Good night.

Adam

_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/cgi-bin/listinfo/helenos-devel

Reply via email to