Re: What is a livelock? (was: [patch] sys_sync livelock fix)

From: Andrew Morton (akpm@zip.com.au)
Date: Tue Feb 12 2002 - 20:56:57 EST


Olaf Dietsche wrote:
>
> Andrew Morton <akpm@zip.com.au> writes:
>
> > The get_request fairness patch exposed a livelock
> > in the buffer layer. write_unlocked_buffers() will
> > not terminate while other tasks are generating write traffic.
>
> The subject says it: what is a livelock? How is it different
> from a deadlock?
>

http://www.huis.hiroshima-u.ac.jp/jargon/LexiconEntries/Livelock.html

livelock

/li:v'lok/ n. A situation in which some critical stage of a task is
unable to finish because its clients perpetually create more work
for it to do after they have been serviced but before it can clear its
queue. Differs from {deadlock} in that the process is not blocked or
waiting for anything, but has a virtually infinite amount of work to
do and can never catch up.

This exactly describes the sync problem. But we also use the
term `livelock' to describe one of the Linux VM's favourite
failure modes: madly spinning on page lists and not finding
any useful work to do. Which is slightly different.

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



This archive was generated by hypermail 2b29 : Fri Feb 15 2002 - 21:00:51 EST