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
