> 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

Reply via email to