> -----Original Message----- > From: David Miller [mailto:da...@davemloft.net] > Sent: Tuesday, November 3, 2015 2:50 PM > To: Haiyang Zhang <haiya...@microsoft.com> > Cc: eric.duma...@gmail.com; KY Srinivasan <k...@microsoft.com>; > eduma...@google.com; netdev@vger.kernel.org > Subject: Re: [PATCH net-next] net: increase LL_MAX_HEADER if HYPERV_NET > is enabled > > From: Haiyang Zhang <haiya...@microsoft.com> > Date: Tue, 3 Nov 2015 18:49:05 +0000 > > >> -----Original Message----- > >> From: David Miller [mailto:da...@davemloft.net] > >> Sent: Tuesday, November 3, 2015 1:20 PM > >> To: Haiyang Zhang <haiya...@microsoft.com> > >> Cc: eric.duma...@gmail.com; KY Srinivasan <k...@microsoft.com>; > >> eduma...@google.com; netdev@vger.kernel.org > >> Subject: Re: [PATCH net-next] net: increase LL_MAX_HEADER if > >> HYPERV_NET is enabled > >> > >> From: Haiyang Zhang <haiya...@microsoft.com> > >> Date: Tue, 3 Nov 2015 17:34:47 +0000 > >> > >> > But we still keep this busy return in our code, just for "weird corner > cases". > >> > >> The queue_stopped condition must be precise. > > > > The only case we return NETDEV_TX_BUSY is when the outgoing ring > > buffer is full, which almost never happens because we stop the xmit queue > if ring is <10% available. > > I don't think you understand. > > You must perform the queue stop operation such that it is impossible for > your > ->ndo_start_xmit() method to be invoked in a way such that you cannot > ->transmit > the SKB given to you immediately.
We already did the queue stop operation in the netvsc_send_pkt() in file netvsc.c: if (ring_avail < RING_AVAIL_PERCENT_LOWATER) { netif_tx_stop_queue(netdev_get_tx_queue(ndev, q_idx)); This flow control mechanism stops the tx queue when the outgoing buffer on vmbus is <10% available. So we can always transmit immediately when start_xmit is called. The case of returning NETDEV_TX_BUSY is not expected to happen normally. Thanks, - Haiyang > > It's quite tiring to keep trying to explain this over and over repeatedly. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html