From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 7EFC55AE4 for ; Fri, 23 Jan 2015 11:16:45 +0100 (CET) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP; 23 Jan 2015 02:13:41 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.97,862,1389772800"; d="scan'208";a="444122120" Received: from pgsmsx108.gar.corp.intel.com ([10.221.44.103]) by FMSMGA003.fm.intel.com with ESMTP; 23 Jan 2015 02:03:16 -0800 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by PGSMSX108.gar.corp.intel.com (10.221.44.103) with Microsoft SMTP Server (TLS) id 14.3.195.1; Fri, 23 Jan 2015 18:16:40 +0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.231]) by shsmsx102.ccr.corp.intel.com ([169.254.2.238]) with mapi id 14.03.0195.001; Fri, 23 Jan 2015 18:16:40 +0800 From: "Zhou, Danny" To: Ivan Boule , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [RFC PATCH 0/5] Introduce low-latency one-shot rx interrupt into DPDK with polling/interrupt switch control example Thread-Index: AQHQNu4Z4HSg/PmMTEKxwzZtoMRATpzNfJew Date: Fri, 23 Jan 2015 10:16:38 +0000 Message-ID: References: <1421747640-20978-1-git-send-email-danny.zhou@intel.com> <54C212C3.7060604@6wind.com> In-Reply-To: <54C212C3.7060604@6wind.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [RFC PATCH 0/5] Introduce low-latency one-shot rx interrupt into DPDK with polling/interrupt switch control example X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Jan 2015 10:16:45 -0000 Thanks Ivan for your time spending on reviewing the patchset. Will fix thos= e issues=20 When submitting official patchset. > -----Original Message----- > From: Ivan Boule [mailto:ivan.boule@6wind.com] > Sent: Friday, January 23, 2015 5:22 PM > To: Zhou, Danny; dev@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 >=20 > Hello Danny, >=20 >=20 > 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 suppo= rt > > 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 wake= up > > latency in user space. > > 4) Demonstrate interrupts control APIs and userspace NAIP-like > > polling/interrupt switch algorithms in L3fwd-power example. >=20 > In the patch 3/5: >=20 > - the function eal_intr_process_rx_interrupts() systematically returns > 0. It should be declared as "void" (and get rid of the return 0). >=20 > - the function eal_intr_handle_rx_interrupts() loops again when > epoll_wait() returns with errno =3D=3D EINTR. > It should also return in this case. >=20 > - the function rte_eal_wait_rx_intr() should not invoke rte_panic() but > instead return "-errno" upon system call failure. >=20 > With these fixes: > Acked-By: Ivan Boule >=20 > -- > Ivan Boule > 6WIND Development Engineer