On Tue, Aug 08, 2006 at 05:58:39PM -0700, David Miller ([EMAIL PROTECTED])
wrote:
> From: Herbert Xu <[EMAIL PROTECTED]>
> Date: Wed, 9 Aug 2006 10:36:16 +1000
>
> > I'm not sure whether the problem is where we store skb_shared_info,
> > or the fact that we can't put kmalloc'ed memory into
> > skb_shinfo->frags.
>
> That's a good point.
It is second problem actually.
If we want to change memory usage in skbs, we have problems with
frag_list and place where shared info lives, since it's addon only for
1500 MTU does not change alignment.
> I guess we could do something like:
>
> struct skb_frag_struct {
> union {
> struct page *page;
> void *data;
> } u;
> __u16 page_offset;
> __u16 size;
> };
>
> and something clever like a special page_offset encoding
> means "use data, not page".
We can separate kmalloced data from page by using internal page structures
(lru pointers and PG_slab bit).
--
Evgeniy Polyakov
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html