Rob Hudson wrote: > Is Vista really this bad? Interesting break down of bad design and > bad bug fixing... > http://blog.rlove.org/2007/08/those-dang-dpcs-clogging-mmcss.html
The take-away from this is that Linux's network and filesystem stacks are really well designed. NAPI (New/Network driver API) is, as mentioned, zero-copy, and does not need an interrupt per packet. I've read that NAPI's sucessor is being designed now, and will perform even better. You can read about NAPI and NewNAPI here. http://lwn.net/Articles/30107/ http://lwn.net/Articles/214457/ Windows is probably handling an interrupt per packet. 1 Gbit/second is about one packet every 10 microseconds. Memory latency is ~100 nanoseconds (on a Core 2 generation CPU), so you can only load ~100 cache lines per interrupt. If Vista is using 40% of the CPU, that would imply it's touching ~40 cache lines of memory on each interrupt, which sounds about right for an untuned OS. Also, note that handling an interrupt every 10 microseconds completely trashes all the CPU's caches, forcing the background process to spend a lot more time waiting on memory. If (and I'm just speculating) the network code trashes 40 cache lines, then the background process has to reload 40 cache lines after every interrupt, which means the CPU is stalled for an aditional 40% of the time, leaving 20% to do actual work. Roughly. Approximately. Sort of. (-: So yeah, Vista isn't ready. -- Bob Miller K<bob> [EMAIL PROTECTED] _______________________________________________ EUGLUG mailing list [email protected] http://www.euglug.org/mailman/listinfo/euglug
