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

Reply via email to