Re: ehci dynamic debug problem

Johannes Stezenbach
2012-04-13T19:03:20Z

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