Messages in this thread | | | Date | Tue, 12 Feb 2002 18:52:46 -0800 | From | William Lee Irwin III <> | Subject | Re: What is a livelock? (was: [patch] sys_sync livelock fix) |
| |
On Wed, Feb 13, 2002 at 03:30:01AM +0100, Olaf Dietsche wrote: > I still don't get it :-(. When there is more work, this more work > needs to be done. So, how could livelock be considered a bug? It's > just overload. Or is this about the work, which must be done _after_ > the queue is empty?
The false assumption made here is that it has exclusive access to the queue for the duration. It appears to acquire the lock, dequeue one, drop the lock, do some work, and return to the queue. During the time between the lock being released and then being reacquired more work can be generated, ensuring nontermination, as it iterates until the queue is empty, which can never happen while work is generated at a faster rate than it can process.
Cheers, Bill - 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/
| |