On Thursday 12 August 2004 4:26 am, Olaf Hering wrote:
> On Tue, Jun 15, David Brownell wrote:
>
> > Richard Curnow wrote:
> > >
> > >One problem I'm hitting is in EHCI, I was wondering if you had any ideas
> > >as to what I could start looking at, annotating etc to debug this. The
> > >problem seems to be here:
> > >
> > >static inline void list_del(struct list_head *entry)
> > >{
> > > __list_del(entry->prev, entry->next); <<<<<======= HERE
As you may have noticed, there aren't many calls to list_del()
that relate to QTDs. I've not made time to investigate this
problem, but here are two issues that I'm aware of:
- It's possible smp_mb() is needed before dropping
ehci->lock in ehci_urb_done() ... cache coherency
rules relating to spinlocks are unclear to me.
(Not documented anywhere I've noticed, either.)
- In qh_completions() at the end, there's sometimes
a call to qh_update() after fault cleanup. On one
embedded platform, I've had a report about a
race there, controller reading "old" values for
other QH fields and then the "new" hw_token.
Fix must involve a delay before updating the
token, e.g. "next microframe" or maybe just
a small udelay().
I can imagine either of these causing trouble in your
SMP testing.
- Dave
> > > entry->next = LIST_POISON1;
> > > entry->prev = LIST_POISON2;
> > >}
> >
> > Hmm, I'll have to look at this some more. Some folk have been
> > reporting list_del() problems for QTDs on SMP hardware; in fact
> > there's now a bug on this at bugme.osdl.org and you might be
> > hitting something similar.
>
> We still see this on x86_64, with our sles9 kernel (based on 2.6.6) and
> also with 2.6.8-rc. I dont have a backtrace for the 2.6.8 kernel, yet.
>
> Takes one or two hours to reproduce.
>
> ...
> * How to reproduce:
>
> perform heavy I/O load on a USB 2.0 device. I am using a USB 2.0
> harddisk and running several bonnies in a loop on it.
> ...
>
-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel