Messages in this thread | ![/](/images/icornerl.gif) | | From | "Peter T. Breuer" <> | Subject | Re: [PATCH] ENBD for 2.5.64 | Date | Thu, 27 Mar 2003 01:08:15 +0100 (MET) |
| |
"Lincoln Dale wrote:" > Hi Peter,
Hi!
> decent GE cards will do coalescing themselves anyway.
From what I confusedly remember of my last interchange with someone convinced that packet coalescing (or lack of it, I forget which) was the root of all evil, it's "all because" there's some magic limit of 8K interrupts per second somewhere, and at 1.5KB per packet, that would be only 12MB/s. So Ge cards wait after each interrupt to see if there's some more stuff coming, so that they can treat more than one packet at a time.
Apparently that means that if you have a two-way interchange in your protocol at low level, they wait at the end of each half of the protocol, even though you can't proceed with the protocol until they decide to stop listening and start working. And the result is a severe slowdown.
In my naive opinion, hat should make ENBD's architecture (in which all the channels going through the same NIC nevertheless work independently and asynchronously) have an advantage, because pipelining effects will fill up the slack time spaces in one channel's protocol with activity from other channels.
But surely the number of channels required to fill up the waiting time woulod be astronomical? Oh well.
Anyway, my head still spins.
The point is that none of this is as easy or straightforward as it seems. I suspect that pure storage people like andre will make a real mess of the networking considerations. It's just not easy.
Peter - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |