On Tue, 2020-06-09 at 15:21 -0600, jim.cromie@xxxxxxxxx wrote: > On Tue, Jun 9, 2020 at 10:49 AM Joe Perches <joe@xxxxxxxxxxx> wrote: > > (adding Jim Cromie and comments) > > On Tue, 2020-06-09 at 09:03 -0700, Randy Dunlap wrote: > > > On 6/9/20 4:13 AM, Matthew Wilcox wrote: > > > > On Tue, Jun 09, 2020 at 01:45:57PM +0300, Stanimir Varbanov wrote: > > > > > Here is the third version of dynamic debug improvements in Venus > > > > > driver. As has been suggested on previous version by Joe [1] I've > > > > > made the relevant changes in dynamic debug core to handle leveling > > > > > as more generic way and not open-code/workaround it in the driver. > > > > > > > > > > About changes: > > > > > - added change in the dynamic_debug and in documentation > > > > > - added respective pr_debug_level and dev_dbg_level > > > > > > > > Honestly, this seems like you want to use tracepoints, not dynamic debug. > > > > Tracepoints are a bit heavy and do not have any class > > or grouping mechanism. > > > > debug_class is likely a better name than debug_level > > > > > Also see this patch series: > > > https://lore.kernel.org/lkml/20200605162645.289174-1-jim.cromie@xxxxxxxxx/ > > > [PATCH 00/16] dynamic_debug: cleanups, 2 features > > > > > > It adds/expands dynamic debug flags quite a bit. > > > > Yes, and thanks Randy and Jim and Stanimir > > > > I haven't gone through Jim's proposal enough yet. > > It's unfortunate these patches series conflict. > > > > And for Jim, a link to Stanimir's patch series: > > https://lore.kernel.org/lkml/20200609104604.1594-1-stanimir.varbanov@xxxxxxxxxx/ > > > > > > As Joe noted, there is a lot of ad-hockery to possibly clean up, > but I dont grok how these levels should be distinguished from > KERN_(WARN|INFO|DEBUG) constants. These are not KERN_<LEVEL> at all, all are emitted at KERN_DEBUG These are just driver developer mechanisms to enable/disable groups of formats via some test for < level or | bitmap > Those constants are used by coders, partly to convey how bad things are > As a user, Id be reluctant to disable an EMERG callsite. Not possible. > are you trying to add a User Bit ? or maybe 7-9 of them ? Or maybe a u32/ulong worth as most as I think the largest current use is 32 bits of bitmask. > I have a patchset which adds a 'u' flag, for user. Adapting that with an external bool for bitmask or class would work fine. if (is_bitmask) enable/disable(value|flag) else enable/disable(value < flag) So the equivalent of logical sets would work just fine.