Thanks Ivan for your time spending on reviewing the patchset. Will fix those issues When submitting official patchset.
> -----Original Message----- > From: Ivan Boule [mailto:ivan.boule at 6wind.com] > Sent: Friday, January 23, 2015 5:22 PM > To: Zhou, Danny; dev at dpdk.org > Subject: Re: [dpdk-dev] [RFC PATCH 0/5] Introduce low-latency one-shot rx > interrupt into DPDK with polling/interrupt switch > control example > > Hello Danny, > > > On 01/20/2015 10:53 AM, Danny Zhou wrote: > > DPDK interrupt notification/handling mechanism is based on UIO with > > below limitation: > > 1) It is designed to handle LSC interrupt only with inefficient > > suspended pthread wakeup procedure (e.g. UIO wakes up LSC interrupt > > handling thread which then wakes up DPDK polling thread). In this way, > > it introduces non-deterministic wakeup latency for DPDK polling thread > > as well as packet latency if it is used to handle Rx interrupt. > > 2) UIO only supports a single interrupt vector which has to been shared > > by LSC interrupt and interrupts assigned to dedicated rx queues. > > > > This patchset includes below features: > > 1) Enable one-shot rx queue interrupt in ixgbe PMD for PF as well as VF. > > 2) Build on top of the VFIO mechanism instead of UIO, so it could support > > up to 64 interrupt vectors for rx queue interrupts. > > 3) Have 1 DPDK polling thread handle per Rx queue interrupt with a > > dedicated VFIO eventfd, which eliminates non-deterministic pthread wakeup > > latency in user space. > > 4) Demonstrate interrupts control APIs and userspace NAIP-like > > polling/interrupt switch algorithms in L3fwd-power example. > > In the patch 3/5: > > - the function eal_intr_process_rx_interrupts() systematically returns > 0. It should be declared as "void" (and get rid of the return 0). > > - the function eal_intr_handle_rx_interrupts() loops again when > epoll_wait() returns with errno == EINTR. > It should also return in this case. > > - the function rte_eal_wait_rx_intr() should not invoke rte_panic() but > instead return "-errno" upon system call failure. > > With these fixes: > Acked-By: Ivan Boule <ivan.boule at 6wind.com> > > -- > Ivan Boule > 6WIND Development Engineer