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/