Re: fsync 50 times slower after 2.5.27

Duncan Sands (duncan.sands@math.u-psud.fr)
Fri, 20 Sep 2002 14:15:12 +0200


On Thursday 19 September 2002 23:22, Andrew Morton wrote:
> > OK! This seems to fix the problem for 2.5.36. I will also
> > test it for 2.5.34 since I didn't test 2.5.36 as rigourously
> > as 2.5.34 for the presence of the problem without the patch.
>
> (I dragged you back onto the mailing list)

No problem.

> Thanks for testing. The semantics of sched_yield() have changed
> significantly in 2.5. Probably correctly, but it is breaking a
> few things which were tuned for the old semantics. Amongst those
> things are OpenOffice and, it seems, ext3 transaction batching.

Thanks for solving! By the way, what does
set_current_state(TASK_RUNNING);
schedule();
actually do? I guess it lets higher priority tasks have a go, while the
original yield() let equal priority tasks go first? My knowledge of
sched_yield is out of date...

> The transaction batching does good things under some situations,
> and we want it to keep working. I'll sit tight for the while, see
> where shed_yield() behaviour ends up. If we still have a problem
> then probably a schedule_timeout(1) in there would suffice.
>
> > I will also test using ext2 (does ext2 use transaction.c?).
>
> No. ext2 will not exhibit this problem.

You are right. I was confused because I thought I had observed
this problem once with ext2, but in fact I didn't test this case properly.
That's what you get for wanting to get some sleep at night...

Thanks again,

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