[dpdk-dev] [PATCH] vmxnet3: replenish ring buffers in rx processing

Wiles, Keith keith.wiles at intel.com
Fri Aug 25 17:57:36 CEST 2017


> On Aug 25, 2017, at 10:51 AM, David Harton (dharton) <dharton at cisco.com> wrote:
> 
> 
> 
>> -----Original Message-----
>> From: Wiles, Keith [mailto:keith.wiles at intel.com]
>> Sent: Friday, August 25, 2017 11:41 AM
>> To: David Harton (dharton) <dharton at cisco.com>
>> Cc: skhare at vmware.com; dev at dpdk.org
>> Subject: Re: [dpdk-dev] [PATCH] vmxnet3: replenish ring buffers in rx
>> processing
>> 
>> 
>>> On Aug 25, 2017, at 10:22 AM, David Harton <dharton at cisco.com> wrote:
>>> 
>>> vmxnet3 rx processing should replenish ring buffers after new buffers
>>> are available to prevent the interface from getting stuck in a state
>>> that no new work is processed.
>>> 
>>> Signed-off-by: David Harton <dharton at cisco.com>
>>> ---
>>> drivers/net/vmxnet3/vmxnet3_rxtx.c | 17 +++++++++++++++++
>>> 1 file changed, 17 insertions(+)
>>> 
>>> diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c
>>> b/drivers/net/vmxnet3/vmxnet3_rxtx.c
>>> index d9cf437..9861d35 100644
>>> --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c
>>> +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c
>>> @@ -880,6 +880,23 @@
>>> 		}
>>> 	}
>>> 
>>> +	if (unlikely(nb_rxd == 0)) {
>>> +		uint32_t avail;
>>> +		for (ring_idx = 0; ring_idx < VMXNET3_RX_CMDRING_SIZE;
>> ring_idx++) {
>>> +			avail = vmxnet3_cmd_ring_desc_avail(&rxq-
>>> cmd_ring[ring_idx]);
>>> +			if (unlikely(avail > 0)) {
>>> +				/* try to alloc new buf and renew descriptors */
>>> +				vmxnet3_post_rx_bufs(rxq, ring_idx);
>>> +			}
>>> +		}
>>> +		if (unlikely(rxq->shared->ctrl.updateRxProd)) {
>>> +			for (ring_idx = 0; ring_idx < VMXNET3_RX_CMDRING_SIZE;
>> ring_idx++) {
>>> +				VMXNET3_WRITE_BAR0_REG(hw, rxprod_reg[ring_idx] +
>> (rxq->queue_id
>>> +* VMXNET3_REG_ALIGN),
>> 
>> Did you run checkpatch here as it seems the line length is greater then
>> 80.
> 
> I did.  I'm following the conventions already established in the file.
> Several lines above the file are > 80 characters.  In fact, some just a few lines above these diffs.
> 
> Are you asking me to deviate from the established code convention?

If that is the existing convention in the file, then no.

> 
> Thanks,
> Dave
> 
>> 
>> BTW, I think requirements of 80 and tab length of 8, is a bit outdated in
>> 2017 :-(
>> 
>>> +						       rxq-
>>> cmd_ring[ring_idx].next2fill);
>>> +			}
>>> +		}
>>> +	}
>>> +
>>> 	return nb_rx;
>>> }
>>> 
>>> --
>>> 1.8.3.1
>>> 
>> 
>> Regards,
>> Keith

Regards,
Keith



More information about the dev mailing list