Messages in this thread | | | Date | Fri, 13 Apr 2012 21:03:11 +0200 | From | Johannes Stezenbach <> | Subject | Re: ehci dynamic debug problem |
| |
On Fri, Apr 13, 2012 at 02:13:58PM -0400, Alan Stern wrote: > On Fri, 13 Apr 2012, Johannes Stezenbach wrote: > > > > But there is no such thing as dynamic debug for ehci, is there? > > > There's a separate dynamic debug setting for each dev_dbg statement. > > > So your ideal solution makes no sense. > > > > When CONFIG_DYNAMIC_DEBUG=y but ehci debug is disabled > > There is no such thing as ehci debug! So how can it be disabled? > There's only an individual setting for each line of debugging code. > > > in /sys/kernel/debug/dynamic_debug/control, then > > dbg_port() calls dbg_port_buf() which would > > format the string, then calls ehci_dbg() which > > calls dev_dbg() which discards it. > > > > Does it make sense now? > > No. What happens if dynamic debug is enabled for one line that calls > dbg_port_buf() but not for another? There's no way to avoid the string > formatting in both lines, even though one of them discards the result.
That's why I said in my initial mail:
Does dynamic debug offer an "is the message two lines below enabled" test?
What I meant is that dbg_port() could test if it needs to call dbg_port_buf() for this call site.
Anyway, maybe the dbg_*_buf() are not called often enough to worry?
If you're OK with "#if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG)" then maybe you should just do that?
Thanks Johannes
| |