Re: Break 2.4 VM in five easy steps

Andrew Morton (andrewm@uow.edu.au)
Wed, 06 Jun 2001 12:16:30 +1000


"Jeffrey W. Baker" wrote:
>
> Because the 2.4 VM is so broken, and
> because my machines are frequently deeply swapped,

The swapoff algorithms in 2.2 and 2.4 are basically identical.
The problem *appears* worse in 2.4 because it uses lots
more swap.

> they can sometimes take over 30 minutes to shutdown.

Yes. The sys_swapoff() system call can take many minutes
of CPU time. It basically does:

for (each page in swap device) {
for (each process) {
for (each page used by this process)
stuff

It's interesting that you've found a case where this
actually has an operational impact.

Haven't looked at it closely, but I think the algorithm
could become something like:

for (each process) {
for (each page in this process) {
if (page is on target swap device)
get_it_off()
}
}

for (each page in swap device) {
if (it is busy)
complain()
}

That's 10^4 to 10^6 times faster.

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