> Why is cfs in the kernel and not a userlevel program?
i don't know. but by putting cfs in the kernel, you can use the kernel's
built-in concurrency. cfs predates the thread library.
> I guess there might be performance issues also, though these would
> be swamped by the performance improvment of plugging in CFS in the
> first place (IMHO).
why guess? we can get a good approximation. the difference
is a round trip to user space which has bandwidth and latency
costs. i used dd and ramfs to simulate.
userspace kernel
b/w latency b/w latency
i7 2666 460 MB/s 1680µs 3900 MB/s 118µs
Xeon5000 1859 156 MB/s 1205 868 265
AMD64 2604 be 142 MB/s 2511µs 2600 332
AMD64 2004 135 MB/s 2510 2600 324
if you're limited by 1gbe, the bandwidth would be good
but the latency is spoiled. if you're limited by 10gbe,
the vodka's weak, too.
- erik