tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: netbsd-5 deadlocks when memory is low



On Thu, Sep 15, 2011 at 2:40 AM, Masao Uebayashi <uebayasi%gmail.com@localhost> 
wrote:
> On Thu, Sep 15, 2011 at 2:13 AM, Emmanuel Dreyfus <manu%netbsd.org@localhost> 
> wrote:
>> Masao Uebayashi <uebayasi%gmail.com@localhost> wrote:
>>
>>> You're faulting on a busy (PG_BUSY) anon page whose owner is also an
>>> anon.  I suppose the page is being swapped either in or out...
>>
>> The question is why does it fail to complete?
>
> Hmm, I don't see any relevant "if (PG_WANTED) wakeup(pg);" in swap
> code path, like that done in genfs_getpages().

Sorry, it's done in uvmfault_anonget() { if (we_own) { wakeup(); } }.

So what I can think of now is, the underlying bdev can't finish I/O
because it allocates memory to handle I/O requests?


Home | Main Index | Thread Index | Old Index