> 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. _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
