[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ih] Early Unix networking



On Tue, Oct 11, 2016 at 9:18 PM, Paul Ruizendaal <pnr at planet.nl> wrote:

>
> I've checked the code again and at that time the CSRG mbuf code does
> not use external 2048 byte blocks yet; the page allocation algorithm
> appears to have changed from the BBN version, but as yet I don't know if
> this affected performance much.
>
> In any case, my earlier understanding that larger buffers were used at
> that time to boost speed on local nets appears incorrect.
>
>
This is entirely recollections and probably foggy/wrong in some details.

My recollection is that mbufs were 128 bytes, because that was optimized
for manipulating headers.
You could pull an entire TCP/IP header into the front mbuf and work with a
contiguous block of memory.
I seem to recall a routine called mpullup() which was designed to ensure
that the entire TCP/IP header
was in the first mbuf after the link layer (e.g. Ethernet) header was
removed. Mbufs were created by
taking a 512 byte page and splitting it into 4 mbufs.

I think there may have been 512 byte mbufs too -- and that may be the
larger size.  I don't think 2048
byte buffers were feasible until BSD enhanced its memory management --
initially, mbufs were simply pages
taken from the page pool.

Thanks!

Craig

-- 
*****
Craig Partridge's email account for professional society activities and
mailing lists.
For Raytheon business, please email: craig at bbn.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://elists.isoc.org/pipermail/internet-history/attachments/20161012/d54dfa8e/attachment.html>