From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v7 4/8] vhost: rxtx: use queue id instead of constant ring index Date: Wed, 21 Oct 2015 17:52:47 +0200 Message-ID: <2344789.5MT16lH3ET@xps13> References: <1445399294-18826-1-git-send-email-yuanhan.liu@linux.intel.com> <2601191342CEEE43887BDE71AB97725836AB321F@irsmsx105.ger.corp.intel.com> <20151021084747.6c2ca303@xeon-e3> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, "marcel@redhat.com" , "Michael S. Tsirkin" To: Stephen Hemminger Return-path: Received: from mail-wi0-f177.google.com (mail-wi0-f177.google.com [209.85.212.177]) by dpdk.org (Postfix) with ESMTP id 5F50CC41C for ; Wed, 21 Oct 2015 17:53:53 +0200 (CEST) Received: by wikq8 with SMTP id q8so100221033wik.1 for ; Wed, 21 Oct 2015 08:53:53 -0700 (PDT) In-Reply-To: <20151021084747.6c2ca303@xeon-e3> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 2015-10-21 08:47, Stephen Hemminger: > On Wed, 21 Oct 2015 09:38:37 +0000 > "Ananyev, Konstantin" wrote: > > I also don't understand what's wrong with using 'always_inline' here. > > As I understand the author wants compiler to *always inline* that function. > > So seems perfectly ok to use it here. > > As I remember just 'inline' is sort of recommendation that compiler is free to ignore. > > Konstantin > > I follow Linux/Linus advice and resist the urge to add strong inlining. > The compiler does a good job of deciding to inline, and many times > the reason it chooses for not inlining are quite good like: > - the code is on an unlikely branch > - register pressure means inlining would mean the code would be worse > > Therefore my rules are: > * only use inline for small functions. Let compiler decide on larger static funcs > * write code where most functions are static (localized scope) where compiler > can decide > * reserve always inline for things that access hardware and would break if not inlined. It would be interesting to do some benchmarks with/without "always" keyword and add these rules in the coding style guide.