From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adrien Mazarguil Subject: Re: [PATCH v1 1/3] net/hyperv: introduce MS Hyper-V platform driver Date: Tue, 19 Dec 2017 11:01:17 +0100 Message-ID: <20171219100117.GA5377@6wind.com> References: <20171124172132.GW4062@6wind.com> <20171218162443.12971-2-adrien.mazarguil@6wind.com> <20171218102835.7602545f@xeon-e3> <7420927.98Cnld71HS@xps> <20171218131751.5c5d9467@xeon-e3> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Thomas Monjalon , dev@dpdk.org, Ferruh Yigit To: Stephen Hemminger Return-path: Received: from mail-wm0-f66.google.com (mail-wm0-f66.google.com [74.125.82.66]) by dpdk.org (Postfix) with ESMTP id 99D3F1B016 for ; Tue, 19 Dec 2017 11:01:34 +0100 (CET) Received: by mail-wm0-f66.google.com with SMTP id r78so2375774wme.5 for ; Tue, 19 Dec 2017 02:01:34 -0800 (PST) Content-Disposition: inline In-Reply-To: <20171218131751.5c5d9467@xeon-e3> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Mon, Dec 18, 2017 at 01:17:51PM -0800, Stephen Hemminger wrote: > On Mon, 18 Dec 2017 20:54:16 +0100 > Thomas Monjalon wrote: > > > > > +#endif /* RTE_LIBRTE_HYPERV_DEBUG */ > > > > + > > > > +#define DEBUG(...) PMD_DRV_LOG(DEBUG, __VA_ARGS__) > > > > +#define INFO(...) PMD_DRV_LOG(INFO, __VA_ARGS__) > > > > +#define WARN(...) PMD_DRV_LOG(WARNING, __VA_ARGS__) > > > > +#define ERROR(...) PMD_DRV_LOG(ERR, __VA_ARGS__) > > > > + > > > > > > Please don't use DEBUG() etc macros. It makes it easier for tools that do > > > global updates or scans if all drivers use the same model of PMD_DRV_LOG > > > > The new standard is to use dynamic logtype. > > Agree, please use dynamic logging, and also don't redefine new macros like DEBUG/INFO/WARN/ERROR. > Instead use PMD_DRV_LOG or equivalent macros. Wait, the above definitions are only convenience wrappers to PMD_DRV_LOG(), itself a wrapper to RTE_LOG(), itself a wrapper to rte_log(), their presence is not triggered according to compilation options, did I miss something? Let me bring back some context from the original patch: #ifdef RTE_LIBRTE_HYPERV_DEBUG #define PMD_DRV_LOG(level, ...) \ RTE_LOG(level, PMD, \ RTE_FMT("%s:%u: %s(): " RTE_FMT_HEAD(__VA_ARGS__,) "\n", \ strrchr("/" __FILE__, '/') + 1, \ __LINE__, \ __func__, \ RTE_FMT_TAIL(__VA_ARGS__,))) #else /* RTE_LIBRTE_HYPERV_DEBUG */ #define PMD_DRV_LOG(level, ...) \ RTE_LOG(level, PMD, \ RTE_FMT(RTE_STR(HYPERV_DRIVER) ": " \ RTE_FMT_HEAD(__VA_ARGS__,) "\n", \ RTE_FMT_TAIL(__VA_ARGS__,))) #endif /* RTE_LIBRTE_HYPERV_DEBUG */ #define DEBUG(...) PMD_DRV_LOG(DEBUG, __VA_ARGS__) #define INFO(...) PMD_DRV_LOG(INFO, __VA_ARGS__) #define WARN(...) PMD_DRV_LOG(WARNING, __VA_ARGS__) #define ERROR(...) PMD_DRV_LOG(ERR, __VA_ARGS__) Enabling RTE_LIBRTE_HYPERV_DEBUG adds file and line information to log output, messages are otherwise unaffected by that compilation option. Adding this information required some sort of wrapper to avoid needless clutter. Nothing against outputting file/line information when compiled in debug mode right? > The base rule here is that all drivers should look the same as much > as reasonably possible. This makes reviewers of other subsystems more likely > to see problems. It also allows for later changes where some developer does a global > improvement across many PMD's. > > Drivers should not be snowflakes, each one is not unique. Point taken, do you confirm replacing i.e. WARN(...) with PMD_DRV_LOG(WARN, ...) and friends is all that's needed? -- Adrien Mazarguil 6WIND