[ofa-general] Re: [PATCH] IB/ipoib: IPOIB CM rx use higher order fragments

Eli Cohen eli at mellanox.co.il
Thu Oct 25 00:46:26 PDT 2007


> Actually if you read the e1000 code more closely you'll see that on
> all hardware that supports it, they use packet splitting to make all
> of their allocations be only a single page.  And if you do a web
> search on the words 'page allocation failure order e1000' you will see
> many examples of the problems coming from the old e100 code, which did
> higher-order allocations for jumbo frames.

So what about the following idea - please let me know if you think it's
practical:
We will allocate compound pages of order 2 at initialization time using
GFP_KERNEL. Then we take a reference on each of these pages and put them
in a free list. Allocating a page will then be done from this this free
list. We will also put a destructor on the SKB and return the pages to
the free list when the destructor is called.
We can also peridically push to the work queue a task that manages the
size of the list.



More information about the general mailing list