Thread (8 messages) 8 messages, 4 authors, 2012-09-27

Re: [PATCH net-next] net: use bigger pages in __netdev_alloc_frag

flat view

From: Alexander Duyck <hidden>
Date: 2012-09-26 16:36:15

On 09/26/2012 09:14 AM, Eric Dumazet wrote:
On Wed, 2012-09-26 at 09:00 -0700, Alexander Duyck wrote:
quoted
One minor thought.  Instead of tracking offset and size why not just
work from the top down instead of the bottom up?

So instead of starting with the frag offset at 0, why not start it at
PAGE_SIZE << order, and then work your way down to 0.  That way you
don't need to track both size and offset.
How do you refill then ? 

(ie setting xxx->offset back to PAGE_SIZE << order)

I am not sure we have direct access to a page order given a struct page
pointer.

I also like struct page_frag abstraction, because it might allow us
better code factorization with other frag allocators.

( skb_append_datato_frags(), sk_page_frag_refill(), ...)
I forgot about the page recycling portion of it.  I was still thinking
of the original implementation that had a fixed page order.  You are
correct, with the page order being dynamic you will have to store size
somewhere.

Thanks,

Alex
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help