From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C0CB7A2E1B for ; Wed, 4 Sep 2019 22:44:19 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9880A1EB2D; Wed, 4 Sep 2019 22:44:18 +0200 (CEST) Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id 300F31E9D9 for ; Wed, 4 Sep 2019 22:44:17 +0200 (CEST) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 4FD1D21EAF; Wed, 4 Sep 2019 16:44:15 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Wed, 04 Sep 2019 16:44:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:content-type; s=mesmtp; bh=pqayr+LJRraD2N8mQvoNSIuE0LiMNb8zix2G52dcjlI=; b=Q5xewTCOA/ae eEGqxAykmZwHRHLFIJT7XmVuYhEU2GllF7b4XlUwp+kMuTXNfGxrdgwhulQsY81v NctT2uHccDCOJU9AD/M7RfnKjALQtLZ6fptqO9vS1shCs5mFvKby0vRqbcqKOr4p o7+EIKBvzsWRV8zyt9x2qUTE9v3mCC8= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=pqayr+LJRraD2N8mQvoNSIuE0LiMNb8zix2G52dcj lI=; b=NnVlUNs15BKSTnJrV80pW1EkdpTCe8I7FFEjuVp9EPZXyFCO3pI13inx+ aR40jN3P4JCni91j1lkdUNtKTCqTQ77K/rQddMwGCxTmjYZZLbG9ocT+tdvDh85G AXVffNHCw0xj6vQ8bNvmvZu+XKLUh3BGrAEke72h83yHR3Bib/GHQpsdc1GXK8ja sKUV1w1cpkl9l4gW4Q9TD2V7cZ7HakZpvejaXyLzcDz1H4OaAEV68w/WkD5CKV1C f6Mg0K5+azAbPXbCoSv/9P/oroJaArtt8xbwcJKtsUU/1gW6SU/yF812+SZenJcl ne7dLDO9Yr+9OLu6bc3jZ3GWyb3PQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduvddrudejhedgudehtdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvffufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhm rghsucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenuc ffohhmrghinhepughpughkrdhorhhgnecukfhppeejjedrudefgedrvddtfedrudekgeen ucfrrghrrghmpehmrghilhhfrhhomhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvth enucevlhhushhtvghrufhiiigvpedt X-ME-Proxy: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 3E55ED6005E; Wed, 4 Sep 2019 16:44:14 -0400 (EDT) From: Thomas Monjalon To: Andrew Rybchenko Cc: Ferruh Yigit , David Marchand , dev@dpdk.org Date: Wed, 04 Sep 2019 22:44:13 +0200 Message-ID: <4083300.tcgOVcdeWQ@xps> In-Reply-To: <16cfddb8998.27dc.d74a604c1342fc6d922a87b3e5a1c1e3@solarflare.com> References: <1566214919-32250-1-git-send-email-david.marchand@redhat.com> <2169155.oR67J0XmJ6@xps> <16cfddb8998.27dc.d74a604c1342fc6d922a87b3e5a1c1e3@solarflare.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-dev] [PATCH 02/11] log: define logtype register wrapper for drivers 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 04/09/2019 21:58, Andrew Rybchenko: > On September 4, 2019 22:42:12 Thomas Monjalon wrote: > > > 04/09/2019 21:21, Andrew Rybchenko: > >> On 9/4/19 8:45 PM, Thomas Monjalon wrote: > >>> 03/09/2019 10:47, Ferruh Yigit: > >>>> On 9/3/2019 9:06 AM, David Marchand wrote: > >>>>> On Mon, Sep 2, 2019 at 4:29 PM Ferruh Yigit wrote: > >>>>>> On 8/19/2019 12:41 PM, David Marchand wrote: > >>>>>>> The function rte_log_register_type_and_pick_level() fills a gap for > >>>>>>> dynamically loaded code (especially drivers) who would not pick up > >>>>>>> the log level passed at startup. > >>>>>>> > >>>>>>> > >>>>>>> Let's promote it to stable and export it for use by drivers via > >>>>>>> a wrapper. > >>>>>>> > >>>>>>> > >>>>>>> Signed-off-by: David Marchand > >>>>>>> --- > >>> [...] > >>>>>>> /** > >>>>>>> - * @warning > >>>>>>> - * @b EXPERIMENTAL: this API may change without prior notice > >>>>>>> - * > >>>>>>> * Register a dynamic log type and try to pick its level from EAL options > >>> [...] > >>>>>>> -__rte_experimental > >>>>>>> int rte_log_register_type_and_pick_level(const char *name, uint32_t level_def); > >>>>>> +1 to remove experimental from the API. > >>> I am not sure about this function API. > >>> Why we combined register and level setting in one function? > >> > >> See [1] > >> > >> [1] http://git.dpdk.org/dpdk/commit/?id=b22e77c026 > > > > Sorry, it does not explain why we mix both operations in one function. > > Exactly to have one function instead of repeating two function calls > everywhere. Log level should be set when log type is registered. Yes, it is > possible to factor out a function just to pick log level, but I'm not sure > it makes sense separately. > > In fact may be it makes sense to substitute just register with this one > (I.e. remove simple register from piblic API and do not highlight that > level is picked up in function name). Given that we use it in a macro, we could keep two separate functions for logtype register and minimum log level (note that "minimum" is currently a missing word in these functions). Anyway, we will always use the single macro in our libraries.