Messages in this thread | | | From | jim.cromie@gmail ... | Date | Fri, 12 Jun 2020 20:19:16 -0600 | Subject | Re: [PATCH 00/16] dynamic_debug: cleanups, 2 features |
| |
On Fri, Jun 12, 2020 at 3:31 PM Jason Baron <jbaron@akamai.com> wrote: > > > > On 6/5/20 12:26 PM, Jim Cromie wrote: > > Patchset starts with 7 "cleanups"; > > - it changes section name from vague "__verbose" to "__dyndbg" > > - cleaner docs, drop obsolete comment & useless debug prints, refine > > verbosity, fix a BUG_ON, ram reporting miscounts. > > > > It adds a few query parsing conveniences; > > accept combined file:line & file:func forms > > > > file inode.c:100-200 # file & line-range > > file inode.c:start_* # file & function > > > > So I like the shortened notation there. > > > Then it expands flags: > > > > Adds 'u' user flag, allowing user to compose an arbitrary set of > > callsites by marking them with 'u', without altering current > > print-modifying flags. > > > > Adds 'PFMLTU' flags, which negate their lower-case counterparts. > > > > Extends flags-spec with filter-flags, which select callsites for > > modification based upon their current flags. This lets user activate > > the set of callsites marked with 'u' in a batch. > > > > echo 'u+p' > control > > > > I'm wondering if users are really going to use these and how much they > simplify things? Do you find them useful while debugging issues? > > Especially now that now that we are looking to let people define > groupings. > > Thanks, > > -Jason
so we have 1- u flag - in modflags, allows marking of sets 2- filterflags - constrain matching sites to those marked plus any other subcondition you might want on your marked set
3- negating flags
in filters, they allow complete match to all the bits. dont want to touch callsites marked with Pt ? (marked with t, without printing) now you can.
filters let you use current flagstate to select subsets of " +p >control" +negations gives complete selectivity on that flagstate
in modflags theyre more convenience, but setting and clearing 2+ bits atomically lets you both use the u bit to enable printing (inc module name filename) and retire that use of u, or to change the logging output subtly (by dropping threads display, or module-name)
I cant say its essential, but its so cheap (last patch) once negating flags are in place, which are needed for full selectivity filtering.
thanks Jim
| |