From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id B23B0AABD for ; Wed, 28 Mar 2018 01:54:30 +0200 (CEST) Received: from cpe-2606-a000-111b-40b7-215-ff-fecc-4872.dyn6.twc.com ([2606:a000:111b:40b7:215:ff:fecc:4872] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1f0yPz-0000Wl-3v; Tue, 27 Mar 2018 19:54:26 -0400 Date: Tue, 27 Mar 2018 19:53:46 -0400 From: Neil Horman To: "Richardson, Bruce" Cc: =?iso-8859-1?Q?Ga=EBtan?= Rivet , "dev@dpdk.org" , "Wiles, Keith" Message-ID: <20180327235346.GB16505@neilslaptop.think-freely.org> References: <20180327114750.GA30585@hmswarspite.think-freely.org> <20180327124000.6n63hpng53tm3bil@bidouze.vm.6wind.com> <20180327182633.GC30585@hmswarspite.think-freely.org> <20180327202040.rd3yixr67c3jbx4p@bidouze.vm.6wind.com> <20180327202807.GB16780@bricha3-MOBL.ger.corp.intel.com> <20180327203513.ubgyukhsqjqg7s7y@bidouze.vm.6wind.com> <59AF69C657FD0841A61C55336867B5B07226BF75@IRSMSX103.ger.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <59AF69C657FD0841A61C55336867B5B07226BF75@IRSMSX103.ger.corp.intel.com> User-Agent: Mutt/1.9.2 (2017-12-15) X-Spam-Score: -2.9 (--) X-Spam-Status: No Subject: Re: [dpdk-dev] [PATCH v3 10/20] eal/dev: implement device iteration initialization X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Mar 2018 23:54:31 -0000 On Tue, Mar 27, 2018 at 08:48:01PM +0000, Richardson, Bruce wrote: > > > > -----Original Message----- > > From: Gaëtan Rivet [mailto:gaetan.rivet@6wind.com] > > Sent: Tuesday, March 27, 2018 9:35 PM > > To: Richardson, Bruce > > Cc: Neil Horman ; dev@dpdk.org; Wiles, Keith > > > > Subject: Re: [dpdk-dev] [PATCH v3 10/20] eal/dev: implement device > > iteration initialization > > > > On Tue, Mar 27, 2018 at 09:28:07PM +0100, Bruce Richardson wrote: > > > On Tue, Mar 27, 2018 at 10:20:40PM +0200, Gaëtan Rivet wrote: > > > > On Tue, Mar 27, 2018 at 02:26:33PM -0400, Neil Horman wrote: > > > > > On Tue, Mar 27, 2018 at 02:40:00PM +0200, Gaëtan Rivet wrote: > > > > > > On Tue, Mar 27, 2018 at 07:47:50AM -0400, Neil Horman wrote: > > > > > > > On Tue, Mar 27, 2018 at 01:18:34AM +0200, Gaetan Rivet wrote: > > > > > > > > Parse a device description. > > > > > > > > Split this description in their relevant part for each layers. > > > > > > > > No dynamic allocation is performed. > > > > > > > > > > > > > > > > Cc: Neil Horman > > > > > > > > Cc: "Wiles, Keith" > > > > > > > > Signed-off-by: Gaetan Rivet > > > > > > > > --- > > > > > > > > > > > > > > > > This version uses librte_kvargs. > > > > > > > > > > > > > > > > > > > > > > Otherwise, this looks pretty good to me > > > > > > > > > > > > Please look into the librte_kvargs compatibility patch as well > > > > > > (quite short). I'm very unhappy about the logging hack. > > > > > > There is always the solution of setting a function pointer on > > > > > > rte_log with the proper loglevels and so on. > > > > > > Ideally rte_log could be made independent (starting skimming EAL > > > > > > from all the fat), but this is much less trivial. > > > > > > > > > > > just posted about that. I agree with Keith, I don't think you > > > > > should need that patch. RTE_LOG just calls rte_vlog which contains > > this code: > > > > > > > > > > if (f == NULL) { > > > > > f = default_log_stream; > > > > > if (f == NULL) { > > > > > /* > > > > > * Grab the current value of stderr here, > > rather than > > > > > * just initializing default_log_stream to > > stderr. This > > > > > * ensures that we will always use the > > current value > > > > > * of stderr, even if the application closes > > and > > > > > * reopens it. > > > > > */ > > > > > f = stderr; > > > > > } > > > > > } > > > > > } > > > > > > > > > > Which I read as saying that the logging library should back off to > > > > > stderr if its not initialized yet. If you've encountered a > > > > > problem that made you need that logging patch, it seems like you > > > > > should be able to drop it, and we need to fix the logging library. > > Can you elaborate on what you ran into here? > > > > > > > > > > Neil > > > > > > > > Neat. The issue is that rte_log.h is not symlink-ed until librte_eal > > > > is processed. rte_log cannot be included. > > > > > > > Sure it can - just pass -I/path/to/eal as a cflag. > > > > > > /Bruce > > > > When you put it this way... :) > > > > Sure, this is a solution, of which early symlink was a genericization. > > I'm just not a fan of having co-dependent libraries. > > > > But this will probably come to that. > > > > The other alternative is what was done with rte_compat.h - create a new lib > just with a single header file in it. Works ok too, and may seem less hacky > to some folks. > > /Bruce > This seems like a good alternative to me. I'm not entirely sure why the logging functions are integrated to EAL anyway. Neil