Messages in this thread | | | Date | Mon, 6 Mar 2000 18:48:06 +0100 | From | "Andi Kleen" <> | Subject | Re: Irq context wrong for USB ACM serial driver calling PPP? |
| |
On Mon, Mar 06, 2000 at 06:33:58PM +0100, Jamie Lokier wrote: > [linux-usb added as it's possibly a USB driver bug; > Vojtech Pavlik added because of USB ACM; > Al Longyear added because it may be a PPP bug]
I think Paul Mackerras is the current maintainer now. I put him into CC so that he can comment.
> > Andi Kleen wrote: > > > My log just filled up. Lots and lots of dubious messages about bad skbs > > > and hard IRQs. It's a ppp link that worked fine with 2.3.40. > > > > The bad skbs message come from NETFILTER_DEBUG. Turn that off. > > > > The hard irq messages mean that the USB driver is not converted to the > > new kfree_skb() scheme yet. Replace the kfree_skb that run in interrupt > > context with kfree_skb_irq() (or kfree_skb_any() if you are not sure or > > if it can run in both process/irq context) > > The USB driver doesn't do anything with skbs -- the PPP driver does all > that. So the PPP driver should be changed to do kfree_skb_any(), right?
Only after you did an audit that it is really irqsave. A quick look shows that it most likely isn't on SMP (lock_path() could deadlock when it is both executed from irq and bh/user context on the same CPU)
It is probably easier to just change USB. This is also more friendly to the rest of the system (otherwise you would need to turn off interrupts in the PPP layer making irq latency bad when 90% of all users don't need it)
-Andi
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |