On Tue, Sep 25, 2018 at 11:25 AM Song Liu <songliubrav...@fb.com> wrote:
> > Hi Michael, > > This may not be related. But I am looking at this: > > bnxt_poll_work() { > > while (1) { > .... > if (rx_pkts == budget) > return > } > } > > With budget of 0, the loop will terminate after processing one packet. > But I think the expectation is to finish all tx packets. So it doesn't > feel right. Could you please confirm? > Right, this in effect is processing only 1 TX packet so it will be inefficient at least. But I think fixing it here still will not fix all the issues, because even if we process all the TX packets here, we may still miss some that are in flight. When we exit poll, netpoll may not call us back again and there may be no interrupts because we don't ARM the IRQ when budget of 0 is reached. I will send a test patch shortly for review and testing. Thanks.