NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/56603: uvm: possible ABBA deadlocks
The following reply was made to PR kern/56603; it has been noted by GNATS.
From: Taylor R Campbell <riastradh%NetBSD.org@localhost>
To: baijiaju1990%gmail.com@localhost
Cc: gnats-bugs%NetBSD.org@localhost
Subject: Re: kern/56603: uvm: possible ABBA deadlocks
Date: Tue, 4 Jan 2022 19:13:02 +0000
I don't know anything offhand about the locking scheme in
uvm_pdpolicy_clock.c, but I'm pretty sure that uvmpdpol_selectvictim
and uvmpdpol_balancequeue never run concurrently -- they are only ever
run sequentially by the pagedaemon thread. So BUG1 is not possible.
For BUG2, uvmpdpol_flush may run concurrently with
uvmpdpol_selectvictim. But the sequence you quoted,
268 mutex_enter(&pg->interlock);
328 mutex_enter(&s->lock);
doesn't happen as your static analyzer thinks -- by the time we reach
line 328, pg->interlock has been released by uvmpd_trylockowner (see
uvm_pdaemon.c). So BUG2 is not possible either. (Actually the same
reason rules out BUG1 too!)
Home |
Main Index |
Thread Index |
Old Index