[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