Subject: Re: [PATCH 2/2] ixgbe: fix select_queue management

From: Stephen Hemminger <[email-masked]>
Date: Fri, 20 Mar 2009 09:24:34 -0700

On Fri, 20 Mar 2009 00:23:39 -0700 (Pacific Daylight Time)
"Waskiewicz Jr, Peter P" <[email-masked]> wrote:

> On Thu, 19 Mar 2009, Stephen Hemminger wrote:
> 
> > Convert ixgbe to use net_device_ops properly.
> > Rather than changing the select_queue function pointer
> > just check the flag.
> > 
> > Signed-off-by: Stephen Hemminger <[email-masked]>
> 
> Thanks Stephen.  I was looking at reassigning a DCB netdev_ops struct when 
> DCB is enabled, and then having a default netdev_ops struct when it's not 
> enabled.  I agree the check is cleaner the way you have it below, but it's 
> another conditional check in the Tx hotpath, which we have too many of in 
> the first place.

Changing number of tx queues is actually the fastest, since then
indirection is not needed

> On a related side note, why is the netdev_ops member of net_device 
> declared const?

The purpose of having an ops structure is two fold. First, the ops
can be in read-only section (if driver wants) to avoid cache issues.
More importantly only one instance is necessary when there are multiple
boards, or 1000's of vlans.

> Cheers,
> -PJ Waskiewicz