[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHXqBFLQFKqK=ORpDQx6s2ud8mWkx=YC_AT60GVS+4XK0H61pw@mail.gmail.com>
Date: Fri, 22 Jul 2011 21:58:51 +0200
From: Michał Mirosław <mirqus@...il.com>
To: Ian Campbell <ian.campbell@...rix.com>
Cc: netdev@...r.kernel.org, linux-nfs@...r.kernel.org,
"David S. Miller" <davem@...emloft.net>,
"James E.J. Bottomley" <JBottomley@...allels.com>,
Alexey Kuznetsov <kuznet@....inr.ac.ru>,
"Pekka Savola (ipv6)" <pekkas@...core.fi>,
James Morris <jmorris@...ei.org>,
Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>,
Patrick McHardy <kaber@...sh.net>, linux-rdma@...r.kernel.org,
linux-s390@...r.kernel.org, linux-scsi@...r.kernel.org,
devel@...n-fcoe.org
Subject: Re: [PATCH 10/13] net: add paged frag destructor to skb_fill_page_desc()
2011/7/22 Ian Campbell <ian.campbell@...rix.com>:
> diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
> index 9818fe2..faee8d3 100644
> --- a/include/linux/skbuff.h
> +++ b/include/linux/skbuff.h
> @@ -1134,12 +1134,14 @@ static inline int skb_pagelen(const struct sk_buff *skb)
> * Does not take any additional reference on the fragment.
> */
> static inline void __skb_fill_page_desc(struct sk_buff *skb, int i,
> - struct page *page, int off, int size)
> + struct page *page,
> + struct skb_frag_destructor *destroy,
> + int off, int size)
> {
> skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
>
> frag->page.p = page;
> - frag->page.destructor = NULL;
> + frag->page.destructor = destroy;
> frag->page_offset = off;
> frag->size = size;
> }
You could just rename this function to e.g.
__skb_fill_fragile_page_desc() (or whatever name) add an inline
wrapper calling it with destroy == NULL. This will avoid touching all
those drivers which won't ever need this functionality.
Best Regards,
Michał Mirosław
Powered by blists - more mailing lists