Re: [patch] sys_sync livelock fix

Bill Davidsen (davidsen@tmr.com)
Wed, 13 Feb 2002 00:21:45 -0500 (EST)


On Tue, 12 Feb 2002, Andrew Morton wrote:

> IMO, the SuS definition sucks. We really do want to do our best to
> ensure that pending writes are committed to disk before sys_sync()
> returns. As long as that doesn't involve waiting until mid-August.

The current behaviour allows the system to hang forever waiting for
sync(2). In practice it does actually wait minutes on a busy system (df
has --no-sync for that reason) when there is no reason for that to happen.
I think that not only sucks worse, it's non-standard as well.

> For example, ext3 users get to enjoy rebooting with `sync ; reboot -f'
> to get around all those silly shutdown scripts. This very much relies
> upon the sync waiting upon the I/O.

Because people count on something broken we should keep the bug? You do
realize that the sync may NEVER finish? That's not in theory, I have news
servers which may wait overnight without finishing a "df" iwthout the
option.

> I mean, according to SUS, our sys_sync() implementation could be
>
> asmlinkage void sys_sync(void)
> {
> return;
> }
>
> Because all I/O is already scheduled, thanks to kupdate.

I think the wording is queued, and I would read that as "on the
elevator." Your example is a good example of bad practive, since even with
ext3 a program creating files quickly would lose data, even though the
directory structure is returned to a known state, without stopping the
writing processes the results are unknown.

> But we want sync to be useful.

No one has proposed otherwise. Unless you think that a possible hang is
useful, the questions becomes adding all dirty buffers to the elevator,
then (a) waiting or (b) returning. Either satisfies SuSv2.

>
> >
> > If this were only a performance issue I wouldn't push for prompt
> > implementation, but anything which can hang the system, particularly in
> > shutdown, is bad.
> >
>
> If shutdown hangs, it's probably due to something else.

If you discount the evidence you can prove anything... or disbelieve
anything.

-- 
bill davidsen <davidsen@tmr.com>
  CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.

- 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/