On Thu, 2014-05-08 at 20:50 +0000, Haiyang Zhang wrote: > > > -----Original Message----- > > From: David Miller [mailto:da...@davemloft.net] > > Sent: Thursday, May 8, 2014 4:45 PM > > To: Haiyang Zhang > > Cc: net...@vger.kernel.org; KY Srinivasan; o...@aepfle.de; > > jasow...@redhat.com; linux-kernel@vger.kernel.org; driverdev- > > de...@linuxdriverproject.org > > Subject: Re: [PATCH net-next,v2] Add support for netvsc build without > > CONFIG_SYSFS flag > > > > From: Haiyang Zhang <haiya...@microsoft.com> > > Date: Thu, 8 May 2014 13:41:33 -0700 > > > > > +static inline void netvsc_record_rx_queue(struct sk_buff *skb, > > > + struct hv_netvsc_packet *packet, > > > + struct net_device *ndev) > > > +{ > > > +#ifdef CONFIG_SYSFS > > > + skb_record_rx_queue(skb, packet->channel-> > > > + offermsg.offer.sub_channel_index % > > > + ndev->real_num_rx_queues); > > > +#endif > > > +} > > > > This is still fantastically gross, what is so unique about your driver that > > it needs > > hacks like this? No other driver to my knowledge does. > > > > Figure out what it is that makes your driver so unique, and try to make it > > conform to how other drivers handle these features without SYSFS ifdef'ery > > instead. > > > > I looked around the other drivers, and the netif_set_real_num_rx_queues() > function. > It's already switched to no-op without CONFIG_SYSFS flag. So I will rely on > this, and > don't have to handle the flag in my code.
I think most other drivers have a 1-1 mapping between hardware RX queues and the RX queue indices reported to Linux. It appears that in this case sub_channel_index is the 'hardware' queue number, but you think there is not a 1-1 mapping. Why is that? Ben. -- Ben Hutchings Sturgeon's Law: Ninety percent of everything is crap.
signature.asc
Description: This is a digitally signed message part