Skip to content

Commit

Permalink
net: netsec: remove loops in napi Rx process
Browse files Browse the repository at this point in the history
netsec_process_rx was running in a loop trying to process as many packets
as possible before re-enabling interrupts. With the recent DMA changes
this is not needed anymore as we manage to consume all the budget without
looping over the function.
Since it has no performance penalty let's remove that and simplify the Rx
path a bit

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Ilias Apalodimas authored and David S. Miller committed Jun 19, 2019
1 parent 39e3622 commit 9371a56
Showing 1 changed file with 2 additions and 9 deletions.
11 changes: 2 additions & 9 deletions drivers/net/ethernet/socionext/netsec.c
Original file line number Diff line number Diff line change
Expand Up @@ -820,19 +820,12 @@ static int netsec_process_rx(struct netsec_priv *priv, int budget)
static int netsec_napi_poll(struct napi_struct *napi, int budget)
{
struct netsec_priv *priv;
int rx, done, todo;
int done;

priv = container_of(napi, struct netsec_priv, napi);

netsec_process_tx(priv);

todo = budget;
do {
rx = netsec_process_rx(priv, todo);
todo -= rx;
} while (rx);

done = budget - todo;
done = netsec_process_rx(priv, budget);

if (done < budget && napi_complete_done(napi, done)) {
unsigned long flags;
Expand Down

0 comments on commit 9371a56

Please sign in to comment.