Hi Yong, I think the interrupt management should be simpler. If you want to invest some time to rework this API, you are very welcome.
2016-07-18 14:19, Liang, Cunming: > Hi Yong, > > rte_intr_dp_is_en() returns true when rte_intr_efd_enable() (the way to > enable data-path interrupt) sets a number of event fds. > In this case, "intr_conf.rxq=1" configuration causes "nb_efd=1". The > value comes from RTE_MIN($nb_efd, 1) from data-path, but not from link > event. > Per link event, you shouldn't use rte_intr_dp_is_en() as the indication. > As igb_uio only has a single vector, when the conflict(both intr_rxq and > intr_lsc turn on) happens, the intr_rxq has high priority than intr_lsc > as default PMD behavior. > Reference as PG 3.1.9 note in > http://dpdk.org/doc/guides/prog_guide/env_abstraction_layer.html > > Regards, > Cunming > > On 7/15/2016 8:36 AM, Yong Wang wrote: > > When binding a device to igb_uio with intr_conf.rxq set to 1, nb_efd > > is 1 (for link event) but rte_intr_dp_is_en() will still return true. > > rte_intr_dp_is_en() should also consider intr_handle type in addition > > to nb_efd. > > > > Signed-off-by: Yong Wang <yongwang at vmware.com>