New NAPI API: Need for netif_napi_remove() ?!
Subsystems (2)
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 tonetif_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 corollarynetif_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
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 tonetif_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 corollarynetif_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 onopen()andclose()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
David Miller
maintainerFrom: "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.pollwhen 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.