Re: [PATCH] kanoj-mm17-2.3.21 kswapd vma scanning protection

Manfred Spraul
1999-10-15T20:47:37Z

Kanoj Sarcar wrote:
> Explain ... who are the readers, and who are the writers? I think if you
> are talking about a semaphore lock being held thru out swapout() in the
> try_to_swap_out path, you are reduced to the same deadlock I just pointed
> out. I was talking more about a monitor like approach here.

The lock is held thru out swapout(), but it is a shared lock: multiple
swapper threads can own it. There should be no lock-up.

reader: swapper. Reentrancy is not a problem because it is a read-lock,
ie shared. The implementation must starve exclusive waiters (ie a reader
is allowed to continue even if a writer is waiting).

write: everyone who changes the vma list. These functions must not sleep
while owning the ERESOURCE (IIRC the NT kernel name) exclusive.

I hope I have not overlocked a detail,
Manfred