Messages in this thread | | | Date | Sun, 3 Sep 2000 14:03:03 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: zero-copy TCP |
| |
On Sun, 3 Sep 2000, Jamie Lokier wrote: > > Nice point! Only valid for TCP & UDP though.
Yeah. But "we need oxygen" is only a valid point for carbon-based life-forms. You might as well argue that oxygen is not avalid criteria for being livable, because it's only valid for the particular kind of creatures we are.
Basically, only TCP and UDP really matter. Decnet, IPX, etc don't really make a big selling point any more.
> When people want _real_ low latency, they don't use TCP or UDP, and they > certainly don't put data checksums at the start. They still aim for > zero copies. That pass, even over cached data, is still significant.
I disagree.
Look at history.
Exercise 1: name a protocol that did something like that (yes, I know, there are multiple).
Exercise 2: name one of them that is still relevant today.
See? Performance, in the end, is very much secondary. It doesn't matter one whit if you perform better than everybody else, if you cannot _talk_ to everybody else.
I think the RISC vendors found that out. And I think most network vendors find that out.
(Yes, I know, you're probably talking about things like the networking protocols for clusters etc. I'm just saying that historically such special-purpose stuff always tends to end up being not as good as the "real thing".)
> Fair enough. Please read my description of a zero-copy scheme that > doesn't require much intelligence on the card though. I think it's a > neat kernel trick that might just pay off. Sometimes, maybe.
We could certainly try to do better. But some of the scemes I've seen have implied a lot of complexity for gains that aren't actually real in the end (eg playing expensive games with memory mapping in order to avoid a copy that ends up happening anyway because the particular card you're using doesn't do scatter-gather: you'd perform a lot better if you just did the copy outright and forgot about the expensive games - which is what Linux does).
Linus
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |