Re: [PATCH net-next] altera_tse: Fixes in NAPI and interrupt handling paths

From: David Miller
Date: Mon Feb 23 2015 - 18:08:23 EST


From: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 23 Feb 2015 11:30:29 -0600

> From: Vlastimil Setka <setka@xxxxxxx>
>
> Incorrect NAPI polling caused WARNING at net/core/dev.c net_rx_action.
> Some stability issues were also seen at high throughput and system
> load before this patch.
>
> This patch contains several changes in altera_tse_main.c:
>
> - tse_rx() is fixed to not process more than `limit` frames
>
> - tse_poll() is refactored to match NAPI logic
> - only received frames are counted for return value
> - removed bogus condition `(rxcomplete >= budget || txcomplete > 0)`
> - replace by: if (rxcomplete < budget) -> call __napi_complete and enable irq
>
> - altera_isr()
> - replace spin_lock_irqsave() by spin_lock() - we are in isr
> - use spinlocks just over irq manipulation, not over __napi_schedule
> - reset IRQ first, then disable and schedule napi
>
> This is a cleaned up resubmission from Vlastimil's recent submission.
>
> Signed-off-by: Vlastimil Setka <setka@xxxxxxx>
> Signed-off-by: Roman Pisl <rpisl@xxxxxxxxxx>
> Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>

This is also a bug fix, and therefore not appropriate to target at 'net-next'.

I've applied it to 'net' instead.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/