Note that this is a different VM trick from the one that uses
_kernel_ virtual memory to actually make the packet look contiguous
in kernel memory even though we only allocate one page at a time.
Alan was advocating something that approaches "vmalloc()" (not
quite, but it had some of the same properties), and that I'm dead
set against.
Oh, ok, Alan that's a stupid idea, listen to pinhead ;-)
While I'm at it, I will advocate that using a chaining mechanim that
might even look something like BSD MBUF chains, but _ONLY_ for >
PAGE_SIZE MTU's devices, makes a _lot_ of sense. For < PAGE_SIZE
MTU'd devices (ie. ethernet) it makes no sense and that is why we
should continue to do what we do now for them. Except of course when
a huge fragmented thing comes in, then the frag code builds the chains
and passes them up as if this was some huge packet coming from a
>PAGE_SIZE MTU'd device, the upper layers do not even need to know the
difference.
---------------------------------------------////
Yow! 11.26 MB/s remote host TCP bandwidth & ////
199 usec remote TCP latency over 100Mb/s ////
ethernet. Beat that! ////
-----------------------------------------////__________ o
David S. Miller, davem@caip.rutgers.edu /_____________/ / // /_/ ><