Re: Break 2.4 VM in five easy steps

From: Andrew Morton (andrewm@uow.edu.au)
Date: Tue Jun 05 2001 - 21:16:30 EST


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



This archive was generated by hypermail 2b29 : Thu Jun 07 2001 - 21:00:44 EST