| Date | Wed, 06 Jun 2001 12:16:30 +1000 | From | Andrew Morton <> | Subject | Re: Break 2.4 VM in five easy steps |
| |
"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/
|