Write performance issue with cfi_cmdset_0001.c
Nicolas Pitre
nico at cam.org
Fri Oct 28 18:04:05 EDT 2005
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.
Nicolas
More information about the linux-mtd
mailing list