Skip to contentSkip to conversation

New NAPI API: Need for netif_napi_remove() ?!

DISCUSSION Kok, Auke 3 participants 3 messages Sep 11, 2007 – Sep 12, 2007

Subsystems (2)
lore
Share & tools
lore

Kok, Auke

author
#0 lore raw

David,

From an old thread:

Quoted 6 lines

5) Since, in the NETPOLL case, netif_napi_init() adds the NAPI struct to the per-device list I renamed it to netif_napi_add(). Currently no teardown is really necessary, anything that would need to be done would be driver internal, so I didn't create the corollary netif_napi_remove() for the time being. Let's not add it unless it really becomes necessary.

while coding the NAPI API changes into the ixgbe driver, I notice that I'm in need for an implementation for netif_napi_remove(). The ixgbe driver itself already modifies it's polling routing on open() and close() based on whether it was able to acquire MSI-X vectors or not, and can thus logically change as the system suspends/resumes and new hardware is inserted that change the balance in the MSI-X vectors in the system. Or, even more bluntly, all MSI support is disabled and we want the driver to come up in legacy mode and use a completely different poll routine alltogether. We can't do this at probe time.

In any case I think we have a legitimate case for netif_napi_remove() to be implemented.

Auke

#1 lore raw
Quoted 11 lines · Auke

David,

From an old thread:

Quoted 6 lines

5) Since, in the NETPOLL case, netif_napi_init() adds the NAPI struct to the per-device list I renamed it to netif_napi_add(). Currently no teardown is really necessary, anything that would need to be done would be driver internal, so I didn't create the corollary netif_napi_remove() for the time being. Let's not add it unless it really becomes necessary.

Quoted 3 lines

while coding the NAPI API changes into the ixgbe driver, I notice that I'm in need for an implementation for netif_napi_remove(). The ixgbe driver itself already modifies it's polling routing on open() and close() based on whether it was able to acquire MSI-X vectors or not, and can thus logically change as the system suspends/resumes and new hardware is inserted that change the balance in the MSI-X vectors in the system. Or, even more bluntly, all MSI support is disabled and we want the driver to come up in legacy mode and use a completely different poll routine alltogether. We can't do this at probe time.

In any case I think we have a legitimate case for netif_napi_remove() to be implemented.

hm, I spoke too soon, I think I can get by for now by just modifying adapter->napi.poll when needed, and this would be clean enough for now. This might change as I enable multiqueue in this driver later though.

Auke

maintainer
#2 lore raw

From: "Kok, Auke" <[email protected]>
Date: Mon, 10 Sep 2007 17:27:33 -0700

Quoted 3 lines

hm, I spoke too soon, I think I can get by for now by just modifying adapter->napi.poll when needed, and this would be clean enough for now. This might change as I enable multiqueue in this driver later though.

Ok, let me know if things change.

The only reason it doesn't exist was the lack of any need.