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>
struct ipqess_tx_ring *tx_ring = (struct ipqess_tx_ring *) priv;
if (likely(napi_schedule_prep(&tx_ring->napi_tx))) {
struct ipqess_tx_ring *tx_ring = (struct ipqess_tx_ring *) priv;
if (likely(napi_schedule_prep(&tx_ring->napi_tx))) {
- __napi_schedule(&tx_ring->napi_tx);
ipqess_w32(tx_ring->ess,
IPQESS_REG_TX_INT_MASK_Q(tx_ring->idx),
0x0);
ipqess_w32(tx_ring->ess,
IPQESS_REG_TX_INT_MASK_Q(tx_ring->idx),
0x0);
+ __napi_schedule(&tx_ring->napi_tx);
struct ipqess_rx_ring *rx_ring = (struct ipqess_rx_ring *) priv;
if (likely(napi_schedule_prep(&rx_ring->napi_rx))) {
struct ipqess_rx_ring *rx_ring = (struct ipqess_rx_ring *) priv;
if (likely(napi_schedule_prep(&rx_ring->napi_rx))) {
- __napi_schedule(&rx_ring->napi_rx);
ipqess_w32(rx_ring->ess,
IPQESS_REG_RX_INT_MASK_Q(rx_ring->idx),
0x0);
ipqess_w32(rx_ring->ess,
IPQESS_REG_RX_INT_MASK_Q(rx_ring->idx),
0x0);
+ __napi_schedule(&rx_ring->napi_rx);
+ dev_set_threaded(netdev, true);
+
for (i = 0; i < IPQESS_NETDEV_QUEUES; i++) {
int qid;
for (i = 0; i < IPQESS_NETDEV_QUEUES; i++) {
int qid;