From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olivier Matz Subject: Re: [PATCH] log: do not drop debug logs at compile time Date: Mon, 3 Oct 2016 17:37:34 +0200 Message-ID: <104cb490-b39a-58e6-2031-d99e023474f2@6wind.com> References: <1474011832-29987-1-git-send-email-olivier.matz@6wind.com> <2969629.OOuc7vtRSA@xps13> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: Thomas Monjalon , "dev@dpdk.org" , "david.marchand@6wind.com" To: "Wiles, Keith" Return-path: Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67]) by dpdk.org (Postfix) with ESMTP id 836F26CB8 for ; Mon, 3 Oct 2016 17:37:41 +0200 (CEST) In-Reply-To: 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" On 10/03/2016 05:27 PM, Wiles, Keith wrote: > > Regards, > Keith > >> On Oct 3, 2016, at 10:02 AM, Olivier Matz wrote: >> >> Hi Keith, >> >> On 09/30/2016 05:48 PM, Wiles, Keith wrote: >>>> On Sep 30, 2016, at 4:33 AM, Thomas Monjalon wrote: >>>> >>>> 2016-09-16 09:43, Olivier Matz: >>>>> Today, all logs whose level is lower than INFO are dropped at >>>>> compile-time. This prevents from enabling debug logs at runtime using >>>>> --log-level=8. >>>>> >>>>> The rationale was to remove debug logs from the data path at >>>>> compile-time, avoiding a test at run-time. >>>>> >>>>> This patch changes the behavior of RTE_LOG() to avoid the compile-time >>>>> optimization, and introduces the RTE_LOG_DP() macro that has the same >>>>> behavior than the previous RTE_LOG(), for the rare cases where debug >>>>> logs are in the data path. >>>>> >>>>> So it is now possible to enable debug logs at run-time by just >>>>> specifying --log-level=8. Some drivers still have special compile-time >>>>> options to enable more debug log. Maintainers may consider to >>>>> remove/reduce them. >>>>> >>>>> Signed-off-by: Olivier Matz >>>> >>>> I think it is a good change. >>>> However I'm not sure we should take it for 16.11 as it was sent late and >>>> there is no review comment. >>>> It is neither really a fix nor really a feature. >>>> If there are some +1, and no opinions against, it will go in 16.11. >>>> Note that some drivers would need some changes to fully benefit of >>>> debug logs enabled at run-time. >>> >>> Would this be easier to add a new LOG level instead say DEBUG_DATAPATH and then change the RTE_LOG to exclude the new log level? >>> >>> >> >> The log levels are quite standard, I don't feel it would be very clear >> to have a new level for that. It would also prevent to have different >> log level inside data path. > > I am not following you here. Having one more log level for DEBUG in the data path is not a big change and you can still have any other log level in the data or anyplace else for that matter. Adding a new log level is not a big change, you are right. But to me it looks confusing to have DEBUG, INFO, ..., WARNING, ERROR, plus a DEBUG_DATAPATH. For instance, how do you compare levels? Or if your log stream forwards logs to syslog, you cannot do a 1:1 mapping with standard syslog levels. What makes you feel it's easier to add a log level instead of adding a new RTE_LOG_DP() function? Regards, Olivier