Hi Jakub, > -----Original Message----- > From: Jakub Kicinski <k...@kernel.org> > Sent: 2021年4月14日 1:11 > To: Y.b. Lu <yangbo...@nxp.com> > Cc: netdev@vger.kernel.org; David S . Miller <da...@davemloft.net>; Richard > Cochran <richardcoch...@gmail.com>; Claudiu Manoil > <claudiu.man...@nxp.com>; Vladimir Oltean <vladimir.olt...@nxp.com>; > Russell King <li...@armlinux.org.uk> > Subject: Re: [net-next] enetc: fix locking for one-step timestamping packet > transfer > > On Tue, 13 Apr 2021 11:48:17 +0800 Yangbo Lu wrote: > > + /* Queue one-step Sync packet if already locked */ > > + if (skb->cb[0] & ENETC_F_TX_ONESTEP_SYNC_TSTAMP) { > > + if > (test_and_set_bit_lock(ENETC_TX_ONESTEP_TSTAMP_IN_PROGRESS, > > + &priv->flags)) { > > + skb_queue_tail(&priv->tx_skbs, skb); > > + return NETDEV_TX_OK; > > + } > > + } > > Isn't this missing queue_work() as well? > > Also as I mentioned I don't understand why you created a separate workqueue > instead of using the system workqueue via schedule_work().
queue_work(system_wq, ) was put in clean_tx. I finally followed the logic you suggested :) See my reply in v2 discussion https://patchwork.kernel.org/project/netdevbpf/patch/20210408111350.3817-3-yangbo...@nxp.com/ And v3 patch merged (7294380c5211 enetc: support PTP Sync packet one-step timestamping) https://patchwork.kernel.org/project/netdevbpf/patch/20210412090327.22330-3-yangbo...@nxp.com/ Thanks.