mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-06 21:14:18 +00:00
e1000: Link NAPI instances to queues and IRQs
Add support for netdev-genl, allowing users to query IRQ, NAPI, and queue information. After this patch is applied, note the IRQ assigned to my NIC: $ cat /proc/interrupts | grep enp0s8 | cut -f1 --delimiter=':' 18 Note the output from the cli: $ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/netdev.yaml \ --dump napi-get --json='{"ifindex": 2}' [{'id': 513, 'ifindex': 2, 'irq': 18}] This device supports only 1 rx and 1 tx queue, so querying that: $ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/netdev.yaml \ --dump queue-get --json='{"ifindex": 2}' [{'id': 0, 'ifindex': 2, 'napi-id': 513, 'type': 'rx'}, {'id': 0, 'ifindex': 2, 'napi-id': 513, 'type': 'tx'}] Signed-off-by: Joe Damato <jdamato@fastly.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
parent
c6b8cd6991
commit
8f7ff18a5e
@ -513,6 +513,8 @@ void e1000_down(struct e1000_adapter *adapter)
|
|||||||
*/
|
*/
|
||||||
netif_carrier_off(netdev);
|
netif_carrier_off(netdev);
|
||||||
|
|
||||||
|
netif_queue_set_napi(netdev, 0, NETDEV_QUEUE_TYPE_RX, NULL);
|
||||||
|
netif_queue_set_napi(netdev, 0, NETDEV_QUEUE_TYPE_TX, NULL);
|
||||||
napi_disable(&adapter->napi);
|
napi_disable(&adapter->napi);
|
||||||
|
|
||||||
e1000_irq_disable(adapter);
|
e1000_irq_disable(adapter);
|
||||||
@ -1392,7 +1394,10 @@ int e1000_open(struct net_device *netdev)
|
|||||||
/* From here on the code is the same as e1000_up() */
|
/* From here on the code is the same as e1000_up() */
|
||||||
clear_bit(__E1000_DOWN, &adapter->flags);
|
clear_bit(__E1000_DOWN, &adapter->flags);
|
||||||
|
|
||||||
|
netif_napi_set_irq(&adapter->napi, adapter->pdev->irq);
|
||||||
napi_enable(&adapter->napi);
|
napi_enable(&adapter->napi);
|
||||||
|
netif_queue_set_napi(netdev, 0, NETDEV_QUEUE_TYPE_RX, &adapter->napi);
|
||||||
|
netif_queue_set_napi(netdev, 0, NETDEV_QUEUE_TYPE_TX, &adapter->napi);
|
||||||
|
|
||||||
e1000_irq_enable(adapter);
|
e1000_irq_enable(adapter);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user