[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <39c9b2df2a02412b84f6e7946f012917@realtek.com>
Date: Thu, 14 Dec 2023 12:54:11 +0000
From: JustinLai0215 <justinlai0215@...ltek.com>
To: Jakub Kicinski <kuba@...nel.org>
CC: "davem@...emloft.net" <davem@...emloft.net>,
"edumazet@...gle.com"
<edumazet@...gle.com>,
"pabeni@...hat.com" <pabeni@...hat.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"andrew@...n.ch"
<andrew@...n.ch>, Ping-Ke Shih <pkshih@...ltek.com>,
Larry Chiu
<larry.chiu@...ltek.com>
Subject: RE: [PATCH net-next v14 03/13] rtase: Implement the rtase_down function
>
> On Fri, 8 Dec 2023 17:47:23 +0800 Justin Lai wrote:
> > + netif_stop_queue(dev);
>
> You most likely want to stop the napi before you call this.
> Otherwise NAPI can do some clean up and restart the queue.
>
> > + /* give a racing hard_start_xmit a few cycles to complete */
> > + synchronize_rcu();
>
> Call netif_tx_disable() instead of stop_queue(), it takes the tx lock so you don't
> have to worry about in-flight packets.
Thanks for your suggestion, I will modify it.
>
> > + netif_carrier_off(dev);
> > +
> > + for (i = 0; i < tp->int_nums; i++) {
> > + ivec = &tp->int_vector[i];
> > + synchronize_irq(ivec->irq);
>
> Why?
This is redundant code, I will remove it.
>
> > + /* wait for any pending NAPI task to complete */
> > + napi_disable(&ivec->napi);
> > + }
Powered by blists - more mailing lists