Messages in this thread | | | Date | Fri, 16 Jan 2009 10:32:05 +1100 | From | Herbert Xu <> | Subject | Re: [PATCH] tcp: splice as many packets as possible at once |
| |
On Thu, Jan 15, 2009 at 03:26:08PM -0800, David Miller wrote: > > New patch, this has the SKB clone removal as well:
Thanks Dave!
Something else just came to mind though.
> +static inline struct page *linear_to_page(struct page *page, unsigned int len, > + unsigned int offset) > +{ > + struct page *p = alloc_pages(GFP_KERNEL, 0); > + > + if (!p) > + return NULL; > + memcpy(page_address(p) + offset, page_address(page) + offset, len);
This won't work very well if skb->head is longer than a page.
We'll need to divide it up into individual pages.
Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
| |