[dpdk-dev] [PATCH 0/2] eal: clean up interrupt handle
Qi Zhang
qi.z.zhang at intel.com
Wed Feb 22 23:17:00 CET 2017
In an interrupt callback function, the paramter intr_handle which
is registered at rte_intr_callback_register call is passed back.
It is supposed to feed rte_intr_enable, but it is not gareenteed
to contain paramters as required, since it is a copy of
rte_ethdev->intr_handle, if some field need to be updated (like max_intr)
driver need to unregister and register the callback function again.
So is it necessary to pass back a copy of intr_handle? why don't
use rte_ethdev->intr_handle directly to feed rte_intr_enable?
if look at the prototpye of rte_intr_callback_fn, void* cb_arg
can be used to pass anything by the driver and the typical way
is to pass a rte_ethdev(or any embedded bus dev) instance
(actually, almost all driver implemented this already), and use
this instance to get the right intr_handle.
One of the patch clean up this and the other update the test code to
sync with the interface change.
Qi Zhang (2):
eal: improve interrupt handle
test: update test code for interrupt callback change
app/test/test_interrupts.c | 23 +++++++--------
drivers/net/bnxt/bnxt_irq.c | 3 +-
drivers/net/e1000/em_ethdev.c | 8 ++----
drivers/net/e1000/igb_ethdev.c | 15 ++++------
drivers/net/enic/enic_main.c | 3 +-
drivers/net/fm10k/fm10k_ethdev.c | 12 +++-----
drivers/net/i40e/i40e_ethdev.c | 8 ++----
drivers/net/i40e/i40e_ethdev_vf.c | 5 ++--
drivers/net/ixgbe/ixgbe_ethdev.c | 14 ++++-----
drivers/net/nfp/nfp_net.c | 6 ++--
drivers/net/qede/qede_ethdev.c | 4 +--
drivers/net/sfc/sfc_intr.c | 10 ++++---
drivers/net/virtio/virtio_ethdev.c | 5 ++--
lib/librte_eal/common/include/rte_interrupts.h | 3 +-
lib/librte_eal/linuxapp/eal/eal_alarm.c | 5 ++--
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 39 ++++----------------------
16 files changed, 57 insertions(+), 106 deletions(-)
--
2.7.4
More information about the dev
mailing list