> -----Original Message-----
> From: Stefan Puiu [mailto:stefan.p...@gmail.com]
> Sent: Monday, December 12, 2016 12:27 AM
> To: Yong Wang <yongw...@vmware.com>
> Cc: dev@dpdk.org; mac_le...@yahoo.com.hk
> Subject: Re: [PATCH] vmxnet3: fix Rx deadlock
> 
> Hello and thanks for reviewing the patch.
> 
> On Wed, Nov 30, 2016 at 6:59 AM, Yong Wang <yongw...@vmware.com>
> wrote:
> [...]
> > I think a more accurate description is that the particular descriptor's
> generation bit never got flipped properly when an mbuf failed to be refilled
> which caused the rx stuck, rather than vmxnet3_post_rx_bufs() not being
> called afterwards.
> >
> 
> Not sure if this kind of level of detail is useful, but if you can
> think of a better explanation to put in the changelist, I can add it.
> I see the generation bit not flipping as a symptom, while the core
> problem is the hardware can't write to the descriptor. I felt the
> explanation was going into too much detail anyway, so I've reworded it
> a bit for v2. Let me know what you think.

This is one of the cases that I prefer accuracy and I think the level of 
details is needed for whoever will work on this part of the code (datapath tx 
and rx routines).

The v2 description looks good to me expect the following description:

"nobody retries this later, so the driver gets stuck in this state."

The driver definitely retries vmxnet3_post_rx_bufs() after it was in the 
problematic state but due to the descriptor's gen bit not flipped, the driver 
won't refill an mbuf.  How about "the driver won't refill the mbuf after this 
so it gets stuck in this state."?

> Thanks,
> Stefan.

Reply via email to