Re: [PATCH 08/10] dynamic_debug: make netif_dbg() call __netdev_printk()
flat view
From: Joe Perches <joe@perches.com>
Date: 2011-07-07 21:55:36
Also in:
lkml
On Thu, 2011-07-07 at 14:09 -0400, Jason Baron wrote:
On Thu, Jul 07, 2011 at 09:29:21AM -0700, Joe Perches wrote:quoted
I think there's little to be gained to move the test outwards and not perform the netif_msg##type(priv)In this particualr case, there might not be a large gain, but when I've converted all of the dynamic debug infrastructure to jump labels I can consistently see througput gains of 1% on tbench testing.
And that's not this case is it. I don't see any value here. []
I think that dynamic_debug will have continuingquoted
impacts on various subsystems unless there's some generic __dynamic_dbg() and _prefix() mechanism introduced into more generic <foo>_dbg style. Anything logging message that uses <foo>_dbg or <foo>_vdbg is a candidate for dynamic_debug uses, but there's no current generic mechanism to avoid subsystem specific needs. Any of these could need some dynamic_debug consideration:right. looking quickly over this list there seem to be a few different categories: -some just alias to dev_dbg(), so they are already picked up -some use level logging, this could be easily added to dyanmic debug - we store level info in the descriptor and then check it against a currently set level, which can be per-debug statement
Fine by me. That might also make all other netif_<type>() and <foo>_<level>(bitmap or level test, fmt, ...) possible to combine in this mechanism as well. There are a lot of those.
quoted hunk ↗ jump to hunk
-any ones that can't fit the current model could probably be easily converted using a callback, That is we have some dynamic debug function take an optional function, which if the debugging is enabled is called.
I believe that would require some registration mechanism for modules.
In fact, that was one of my original goals was to try and convert all the disparate debugging calls, to a more generic infrastructure. I know some subsystem converted to use pr_debug(), to tie into dynamic debug, but it would take a bit of work to convert the rest...thoughts?
Go for it. You're the ddebug maintainer. I'm gladly review though. cheers, Joe