From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 50B283208 for ; Tue, 10 Feb 2015 13:02:37 +0100 (CET) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga103.fm.intel.com with ESMTP; 10 Feb 2015 03:55:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,550,1418112000"; d="scan'208";a="675682701" Received: from bricha3-mobl3.ger.corp.intel.com ([10.243.20.46]) by fmsmga002.fm.intel.com with SMTP; 10 Feb 2015 04:02:31 -0800 Received: by (sSMTP sendmail emulation); Tue, 10 Feb 2015 12:02:30 +0025 Date: Tue, 10 Feb 2015 12:02:30 +0000 From: Bruce Richardson To: Marc Sune Message-ID: <20150210120230.GC18684@bricha3-MOBL3> References: <1415358037-424-1-git-send-email-marc.sune@bisdn.de> <54D9F2A1.2040102@bisdn.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54D9F2A1.2040102@bisdn.de> Organization: Intel Shannon Ltd. User-Agent: Mutt/1.5.23 (2014-03-12) Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH] Adding RTE_KNI_PREEMPT configuration option 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: Tue, 10 Feb 2015 12:02:37 -0000 On Tue, Feb 10, 2015 at 12:59:29PM +0100, Marc Sune wrote: > This patch of Nov 2014 hasn't been yet ACKed/NACKed. Could someone please > give some quick feedback? > > Thanks > marc > Idea is good, any chance it could be added as a run-time rather than compile-time option? /Bruce > On 07/11/14 12:00, Marc Sune wrote: > >This patch introduces CONFIG_RTE_KNI_PREEMPT flag. When set to 'no', KNI > >kernel thread(s) do not call schedule_timeout_interruptible(), which improves > >overall KNI performance at the expense of CPU cycles (polling). > > > >Default values is 'yes', maintaining the same behaviour as of now. > > > >Signed-off-by: Marc Sune > >--- > > config/common_linuxapp | 1 + > > lib/librte_eal/linuxapp/kni/kni_misc.c | 4 ++++ > > 2 files changed, 5 insertions(+) > > > >diff --git a/config/common_linuxapp b/config/common_linuxapp > >index 57b61c9..24b529d 100644 > >--- a/config/common_linuxapp > >+++ b/config/common_linuxapp > >@@ -380,6 +380,7 @@ CONFIG_RTE_LIBRTE_PIPELINE=y > > # Compile librte_kni > > # > > CONFIG_RTE_LIBRTE_KNI=y > >+CONFIG_RTE_KNI_PREEMPT=y > > CONFIG_RTE_KNI_KO_DEBUG=n > > CONFIG_RTE_KNI_VHOST=n > > CONFIG_RTE_KNI_VHOST_MAX_CACHE_SIZE=1024 > >diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/lib/librte_eal/linuxapp/kni/kni_misc.c > >index ba77776..e7e6c27 100644 > >--- a/lib/librte_eal/linuxapp/kni/kni_misc.c > >+++ b/lib/librte_eal/linuxapp/kni/kni_misc.c > >@@ -229,9 +229,11 @@ kni_thread_single(void *unused) > > } > > } > > up_read(&kni_list_lock); > >+#ifdef RTE_KNI_PREEMPT > > /* reschedule out for a while */ > > schedule_timeout_interruptible(usecs_to_jiffies( \ > > KNI_KTHREAD_RESCHEDULE_INTERVAL)); > >+#endif > > } > > return 0; > >@@ -252,8 +254,10 @@ kni_thread_multiple(void *param) > > #endif > > kni_net_poll_resp(dev); > > } > >+#ifdef RTE_KNI_PREEMPT > > schedule_timeout_interruptible(usecs_to_jiffies( \ > > KNI_KTHREAD_RESCHEDULE_INTERVAL)); > >+#endif > > } > > return 0; >