All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ivan Boule <ivan.boule-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
To: Danny Zhou <danny.zhou-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	dev-VfR2kkLFssw@public.gmane.org
Subject: Re: [RFC PATCH 0/5] Introduce low-latency one-shot rx interrupt into DPDK with polling/interrupt switch control example
Date: Fri, 23 Jan 2015 10:22:11 +0100	[thread overview]
Message-ID: <54C212C3.7060604@6wind.com> (raw)
In-Reply-To: <1421747640-20978-1-git-send-email-danny.zhou-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

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-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>

-- 
Ivan Boule
6WIND Development Engineer

  parent reply	other threads:[~2015-01-23  9:22 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-20  9:53 [RFC PATCH 0/5] Introduce low-latency one-shot rx interrupt into DPDK with polling/interrupt switch control example Danny Zhou
     [not found] ` <1421747640-20978-1-git-send-email-danny.zhou-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-01-20  9:53   ` [RFC PATCH 1/5] ethdev: add rx interrupt enable/disable functions Danny Zhou
2015-01-20  9:53   ` [RFC PATCH 2/5] ixgbe: enable rx queue interrupts Danny Zhou
2015-01-20  9:53   ` [RFC PATCH 3/5] eal: add per rx queue interrupt handling based on VFIO Danny Zhou
2015-01-20  9:53   ` [RFC PATCH 4/5] L3fwd-power: enable one-shot rx interrupt and polling/interrupt mode switch Danny Zhou
2015-01-20  9:54   ` [RFC PATCH 5/5] ixgbe: enable rx queue interrupts for VF Danny Zhou
2015-01-23  9:22   ` Ivan Boule [this message]
     [not found]     ` <54C212C3.7060604-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2015-01-23 10:16       ` [RFC PATCH 0/5] Introduce low-latency one-shot rx interrupt into DPDK with polling/interrupt switch control example Zhou, Danny
2015-01-26 17:07   ` Stephen Hemminger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54C212C3.7060604@6wind.com \
    --to=ivan.boule-pdr9zngts4eavxtiumwx3w@public.gmane.org \
    --cc=danny.zhou-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.