Write performance issue with cfi_cmdset_0001.c
Josh Boyer
jdub at us.ibm.com
Sat Oct 29 13:08:06 EDT 2005
On Fri, 2005-10-28 at 18:04 -0400, Nicolas Pitre wrote:
> On Fri, 28 Oct 2005, Josh Boyer wrote:
>
> > On Fri, 2005-10-28 at 17:34 -0400, Nicolas Pitre wrote:
> > > On Fri, 28 Oct 2005, Josh Boyer wrote:
> > >
> > > > I'll preface this with a disclaimer that we saw this on 2.4, however the
> > > > same general issue still seems to be present in MTD CVS.
> > >
> > > For 2.6.x? Are you sure?
> >
> > Apparently not.
> >
> > >
> > > In 2.6 there is no schedule_timeout() anywhere in the MTD code.
> >
> > Yeah, nevermind. I forgot that cfi_udelay no longer does that. In our
> > kernel, cfi_udelay has:
> >
> > if (current->need_resched)
> > schedule_timeout(us);
> > else
> > udelay(us);
>
> But current code has almost same behavior:
>
> if (us >= 1000) {
> msleep((us+999)/1000);
> } else {
> udelay(us);
> cond_resched();
> }
>
> And therefore I wonder if what you saw could occur with that version as
> well.
>
Hm.. probably. I need more coffee and time to dig into stuff. I'll
post a more detailed evaluation on Monday.
josh
More information about the linux-mtd
mailing list