On Tue, Sep 25, 2018 at 7:25 PM Eric Dumazet wrote:
>
> On Tue, Sep 25, 2018 at 7:15 PM Michael Chan
> wrote:
> >
> > On Tue, Sep 25, 2018 at 4:11 PM Michael Chan
> > wrote:
> > >
> > > On Tue, Sep 25, 2018 at 3:15 PM Eric Dumazet
> > > wrote:
> > >
> > > >
> > > > It seems bnx2 should have
On Tue, Sep 25, 2018 at 7:15 PM Michael Chan wrote:
>
> On Tue, Sep 25, 2018 at 4:11 PM Michael Chan
> wrote:
> >
> > On Tue, Sep 25, 2018 at 3:15 PM Eric Dumazet wrote:
> >
> > >
> > > It seems bnx2 should have a similar issue ?
> > >
> >
> > Yes, I think so. The MSIX mode in bnx2 is also aut
On Tue, Sep 25, 2018 at 4:11 PM Michael Chan wrote:
>
> On Tue, Sep 25, 2018 at 3:15 PM Eric Dumazet wrote:
>
> >
> > It seems bnx2 should have a similar issue ?
> >
>
> Yes, I think so. The MSIX mode in bnx2 is also auto-masking, meaning
> that MSIX will only assert once after it is ARMed. If
Thanks Michael!
This works well in my tests.
Reviewed-and-tested-by: Song Liu
> On Sep 25, 2018, at 2:31 PM, Michael Chan wrote:
>
> The current netpoll implementation in the bnxt_en driver has problems
> that may miss TX completion events. bnxt_poll_work() in effect is
> only handling at
On Tue, Sep 25, 2018 at 3:15 PM Eric Dumazet wrote:
>
> It seems bnx2 should have a similar issue ?
>
Yes, I think so. The MSIX mode in bnx2 is also auto-masking, meaning
that MSIX will only assert once after it is ARMed. If we return from
->poll() when budget of 0 is reached without ARMing, w
On 09/25/2018 02:31 PM, Michael Chan wrote:
> The current netpoll implementation in the bnxt_en driver has problems
> that may miss TX completion events. bnxt_poll_work() in effect is
> only handling at most 1 TX packet before exiting. In addition,
> there may be in flight TX completions that
The current netpoll implementation in the bnxt_en driver has problems
that may miss TX completion events. bnxt_poll_work() in effect is
only handling at most 1 TX packet before exiting. In addition,
there may be in flight TX completions that ->poll() may miss even
after we fix bnxt_poll_work() to