ipq40xx: ipqess: enable threaded NAPI
Enable threaded NAPI by default in IPQESS driver as it significantly improves network perfromance, in my testing about 100+ Mbps in WAN-LAN routing. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
This commit is contained in:
parent
b9b4c51b2b
commit
132545785b
1 changed files with 4 additions and 2 deletions
|
@ -542,10 +542,10 @@ static irqreturn_t ipqess_interrupt_tx(int irq, void *priv)
|
||||||
struct ipqess_tx_ring *tx_ring = (struct ipqess_tx_ring *) priv;
|
struct ipqess_tx_ring *tx_ring = (struct ipqess_tx_ring *) priv;
|
||||||
|
|
||||||
if (likely(napi_schedule_prep(&tx_ring->napi_tx))) {
|
if (likely(napi_schedule_prep(&tx_ring->napi_tx))) {
|
||||||
__napi_schedule(&tx_ring->napi_tx);
|
|
||||||
ipqess_w32(tx_ring->ess,
|
ipqess_w32(tx_ring->ess,
|
||||||
IPQESS_REG_TX_INT_MASK_Q(tx_ring->idx),
|
IPQESS_REG_TX_INT_MASK_Q(tx_ring->idx),
|
||||||
0x0);
|
0x0);
|
||||||
|
__napi_schedule(&tx_ring->napi_tx);
|
||||||
}
|
}
|
||||||
|
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
|
@ -556,10 +556,10 @@ static irqreturn_t ipqess_interrupt_rx(int irq, void *priv)
|
||||||
struct ipqess_rx_ring *rx_ring = (struct ipqess_rx_ring *) priv;
|
struct ipqess_rx_ring *rx_ring = (struct ipqess_rx_ring *) priv;
|
||||||
|
|
||||||
if (likely(napi_schedule_prep(&rx_ring->napi_rx))) {
|
if (likely(napi_schedule_prep(&rx_ring->napi_rx))) {
|
||||||
__napi_schedule(&rx_ring->napi_rx);
|
|
||||||
ipqess_w32(rx_ring->ess,
|
ipqess_w32(rx_ring->ess,
|
||||||
IPQESS_REG_RX_INT_MASK_Q(rx_ring->idx),
|
IPQESS_REG_RX_INT_MASK_Q(rx_ring->idx),
|
||||||
0x0);
|
0x0);
|
||||||
|
__napi_schedule(&rx_ring->napi_rx);
|
||||||
}
|
}
|
||||||
|
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
|
@ -1269,6 +1269,8 @@ static int ipqess_axi_probe(struct platform_device *pdev)
|
||||||
if (err)
|
if (err)
|
||||||
goto err_out;
|
goto err_out;
|
||||||
|
|
||||||
|
dev_set_threaded(netdev, true);
|
||||||
|
|
||||||
for (i = 0; i < IPQESS_NETDEV_QUEUES; i++) {
|
for (i = 0; i < IPQESS_NETDEV_QUEUES; i++) {
|
||||||
int qid;
|
int qid;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue