[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <43F901BD926A4E43B106BF17856F0755018DC497AB@orsmsx508.amr.corp.intel.com>
Date: Tue, 26 Apr 2011 09:02:21 -0700
From: "Rose, Gregory V" <gregory.v.rose@...el.com>
To: Eric Dumazet <eric.dumazet@...il.com>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"bhutchings@...arflare.com" <bhutchings@...arflare.com>,
"davem@...emloft.net" <davem@...emloft.net>
Subject: RE: [RFC PATCH] netlink: Increase netlink dump skb message size
> -----Original Message-----
> From: Eric Dumazet [mailto:eric.dumazet@...il.com]
> Sent: Monday, April 25, 2011 11:33 PM
> To: Rose, Gregory V
> Cc: netdev@...r.kernel.org; bhutchings@...arflare.com; davem@...emloft.net
> Subject: Re: [RFC PATCH] netlink: Increase netlink dump skb message size
>
> Le lundi 25 avril 2011 à 15:01 -0700, Greg Rose a écrit :
> > The message size allocated for rtnl info dumps was limited to a single
> page.
> > This is not enough for additional interface info available with devices
> > that support SR-IOV. Check that the amount of data allocated is
> sufficient
> > for the amount of data requested.
> >
> > Signed-off-by: Greg Rose <gregory.v.rose@...el.com>
> > ---
> >
> > include/linux/rtnetlink.h | 1 +
> > net/core/rtnetlink.c | 6 ++++++
> > net/netlink/af_netlink.c | 37 +++++++++++++++++++++++++++++++------
> > 3 files changed, 38 insertions(+), 6 deletions(-)
> >
>
> Hmm, thats a hack, because netlink_dump() is generic and you add
> something very specific.
>
> I prefer something that allows one dump() to reallocate a bigger skb
>
> Maybe changing->dump() prototype to struct sk_buff **pskb instead of
> struct sk_buff *skb.
I'll have a look at that, although Dave's not too happy with the whole lot of this mess and I very much agree with him.
- Greg
>
> diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
> index c8f35b5..7fa6735 100644
> --- a/net/netlink/af_netlink.c
> +++ b/net/netlink/af_netlink.c
> @@ -1681,7 +1681,7 @@ static int netlink_dump(struct sock *sk)
> goto errout_skb;
> }
>
> - len = cb->dump(skb, cb);
> + len = cb->dump(&skb, cb);
>
> if (len > 0) {
> mutex_unlock(nlk->cb_mutex);
>
Powered by blists - more mailing lists