Messages in this thread | | | From | Pavan Chebbi <> | Date | Tue, 21 Mar 2023 13:55:15 +0530 | Subject | Re: Re: [PATCH] net/net_failover: fix queue exceeding warning |
| |
On Tue, Mar 21, 2023 at 11:17 AM Faicker Mo <faicker.mo@ucloud.cn> wrote: > > When tx from the net_failover device, the actual tx queue number is the salve device.
Then why is primary OK..
> The ndo_select_queue of net_failover device returns the txq which is the primary device txq > if the primary device is OK.
This is what is done in all the functions. I don't think there is a problem. Not sure if there is an issue I am not getting, at least with the description. I will let the maintainer take the call. Thanks.
> This number may be bigger than the default 16 of the net_failover device. > A warning will be reported in netdev_cap_txqueue which device is the net_failover. > > > From: Pavan Chebbi <pavan.chebbi@broadcom.com> > Date: 2023-03-21 13:11:52 > To:Faicker Mo <faicker.mo@ucloud.cn> > cc: Sridhar Samudrala <sridhar.samudrala@intel.com>,"David S. Miller" <davem@davemloft.net>,Eric Dumazet <edumazet@google.com>,Jakub Kicinski <kuba@kernel.org>,Paolo Abeni <pabeni@redhat.com>,netdev@vger.kernel.org,linux-kernel@vger.kernel.org > Subject: Re: [PATCH] net/net_failover: fix queue exceeding warning>On Tue, Mar 21, 2023 at 8:15 AM Faicker Mo <faicker.mo@ucloud.cn> wrote: > >> > >> If the primary device queue number is bigger than the default 16, > >> there is a warning about the queue exceeding when tx from the > >> net_failover device. > >> > > > >Can you describe the issue more? If the net device has not implemented > >its own selection then netdev_pick_tx should take care of the > >real_num_tx_queues. > >Is that not happening? > > > >> Signed-off-by: Faicker Mo <faicker.mo@ucloud.cn> > >> --- > >> drivers/net/net_failover.c | 8 ++------ > >> 1 file changed, 2 insertions(+), 6 deletions(-) > >> > >> diff --git a/drivers/net/net_failover.c b/drivers/net/net_failover.c > >> index 7a28e082436e..d0c916a53d7c 100644 > >> --- a/drivers/net/net_failover.c > >> +++ b/drivers/net/net_failover.c > >> @@ -130,14 +130,10 @@ static u16 net_failover_select_queue(struct net_device *dev, > >> txq = ops->ndo_select_queue(primary_dev, skb, sb_dev); > >> else > >> txq = netdev_pick_tx(primary_dev, skb, NULL); > >> - > >> - qdisc_skb_cb(skb)->slave_dev_queue_mapping = skb->queue_mapping; > >> - > >> - return txq; > >> + } else { > >> + txq = skb_rx_queue_recorded(skb) ? skb_get_rx_queue(skb) : 0; > >> } > >> > >> - txq = skb_rx_queue_recorded(skb) ? skb_get_rx_queue(skb) : 0; > >> - > >> /* Save the original txq to restore before passing to the driver */ > >> qdisc_skb_cb(skb)->slave_dev_queue_mapping = skb->queue_mapping; > >> > >> -- > >> 2.39.1 > >> > > [unhandled content-type:application/pkcs7-signature] | |