[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH] lib/ukdebug: print DLVL_EXTRA messages only in debug build
Hi, It is per-system already in this patch. Let me copy the commit message here: With this patch, messages of DLVL_EXTRA will be printed ONLY if UK_DEBUG is defined. Now a developer can chose for which parts of Unikraft he wants an extra verbosity of the output, by adding a single line into the Makefile.uk. For example: /* Enable for one lib */ LIBNAME_CFLAGS-y += -DUK_DEBUG /* Enable globally in Unikraft (brace yourself) */ CFLAGS-y += -DUK_DEBUG You define UK_DEBUG for specific files or subsystems. For now there is no option in menuconfig, you gonna need to add a line into Makefile.uk. Then all files belonging to LIBNAME will be build with UK_DEBUG defined. Meaning debug output for this library will be compiled in. For all other subsystems, which did not get -DUK_DEBU all pr_debug's (currently it is uk_printd(DLVL_EXTRA, ..)) will produce zero code. Oh, and by the way, Linux does the same. -Yuri. Florian Schmidt <florian@xxxxxxxxx> writes: > Hi, > > so after reading your's and Simon's answer, I'm still not quite clear > about one thing. Is this planned to be per-subsystem or not? It sounded > to me like it's not, and it's governed by a global define UK_DEBUG for > all subsystems. > > Or is it really strictly just for temporary debugging, i.e., a patch > applied to staging/master should never have any uk_printd() calls in it? > > Cheers, > Florian > > On 08/01/2018 12:03 PM, Yuri Volchkov wrote: >> Hi, >> >>> I kinda like approaches like the linux kernel has, which allows you to >>> set debug output per subsystem level (which I guess in our case would >>> be libraries) >> In fact the proposal was to do it similar to linux kernel scheme. Here >> is a sentence from >> https://www.kernel.org/doc/html/v4.10/process/coding-style.html >> >> "While the other pr_XXX() functions print unconditionally, pr_debug() >> does not; it is compiled out by default, unless either DEBUG is >> defined or CONFIG_DYNAMIC_DEBUG is set." >> >> Matching it to what Simon wrote: >> 1) uk_printk is equivalent to linux's printk with levels up to KERN_INFO >> >> 2) uk_printd is equivalent to linux's pr_debug(). However, in linux just >> defining "DEBUG" for a file or subsystem is not enough, you also need >> to change the printk level to KERN_DEBUG (e.g. echo 7 > >> /proc/sys/kernel/printk). The same happens in current patch I have >> sent, but the idea is to make debug output independent from the >> current selected level in the future. >> >> >>> because global log levels of high verbosity can end up drowning you in >>> messages. >> Right, non-debug output should be readable even at maximum verbosity >> level. If a print spits to many messages it either should be pr_debug >> (or whatever we name it), or, it should be rate limited. >> >>> However, I'm aware that's a bit of a larger redesign, so I'm not sure we >>> want to go for it at the moment. >> This is dynamic print. We will get there eventually. This patch is a >> first baby step towards it. >> >> -Yuri. >> >> Florian Schmidt <florian@xxxxxxxxx> writes: >> >>> Hi everyone, >>> >>> On 07/31/2018 03:05 PM, Simon Kuenzer wrote: >>>> Give me a +1/0/-1. >>> >>> I'm a 0 on this one. >>> >>> I agree that it's (slightly) less confusing than the current situation. >>> Then again, I kinda like approaches like the linux kernel has, which >>> allows you to set debug output per subsystem level (which I guess in our >>> case would be libraries) because global log levels of high verbosity can >>> end up drowning you in messages. >>> >>> However, I'm aware that's a bit of a larger redesign, so I'm not sure we >>> want to go for it at the moment. >>> >>> Cheers, Florian >>> >>> _______________________________________________ >>> Minios-devel mailing list >>> Minios-devel@xxxxxxxxxxxxxxxxxxxx >>> https://lists.xenproject.org/mailman/listinfo/minios-devel >> -- Yuri Volchkov Software Specialist NEC Europe Ltd Kurfürsten-Anlage 36 D-69115 Heidelberg _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |