Re: [PATCH 5/5] usb_debug: EXPERIMENTAL - poll hcd device toforcewrites

From: Greg KH
Date: Wed May 06 2009 - 17:53:55 EST


On Wed, May 06, 2009 at 03:51:14PM -0500, Jason Wessel wrote:
> Greg KH wrote:
> >> Doing enough printk's such as in register_console() will cause loss
> >> because you run out of URBs unless you can force them to complete.
> >>
> >
> > Why not just make the upper bound of urbs very large? We used to have
> > an unlimited number of in-flight urbs for some drivers until it was
> > pointed out that a simple:
> > cat /dev/null > /dev/ttyUSB0
> > would cause a DoS :)
> >
> > What happens if your upper bound is 400? 4000? Will that work
> > properly?
> >
> Sure, if you have enough of a urb available, ultimately you get all the
> printk's.

Good, then you just solved your issue with no nasty host driver hack.

> If I want to printk from the nmi_watchdog out to this device, am I going
> to get anything if the write is not synchronous, because in theory the
> hcd device is never going to get accessed again?

No you are not, sorry, USB doesn't work without interrupts in this kind
of mode at all.

> Ideally I want to make sure that somehow I get my debug output out to
> the console, even if it means we do some polling after the oops state is
> set.

That's going to be "interesting" to try to accomplish :)

good luck,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/