Wu Fengguang wrote:
> Don't do the num_tx_queues based masking on calculating tx queue
> index. 
> 
> 1) num_tx_queues is not always power-of-2, because it also depends on
>    the online cpu numbers. So the masking could be a performance bug
>    on a 6 cpu system.
> 2) queue_mapping will be limited by real_num_tx_queues=num_tx_queues
>    in the generic netdev function set_cur_queue_map(). So the bound
>    limiting here is not necessary.
> 
> Signed-off-by: Wu Fengguang <fengguang...@intel.com>

This change seems okay for upstream kernel, we would have to make sure it is 
okay for all kernels supported by our sourceforge driver.

Jeff please take it into your tree.  and we likely need to make the same change 
for igb.


> ---
>  drivers/net/ixgbe/ixgbe_main.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- mm.orig/drivers/net/ixgbe/ixgbe_main.c
> +++ mm/drivers/net/ixgbe/ixgbe_main.c
> @@ -4223,7 +4223,7 @@ static int ixgbe_xmit_frame(struct sk_bu
>       int count = 0;
>       unsigned int f;
> 
> -     r_idx = (adapter->num_tx_queues - 1) & skb->queue_mapping;
> +     r_idx = skb->queue_mapping;
>       tx_ring = &adapter->tx_ring[r_idx];
> 
>       if (adapter->vlgrp && vlan_tx_tag_present(skb)) {

------------------------------------------------------------------------------
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel

Reply via email to