Re: [PATCH] Warn if we run out of swap space

Andrew Morton
2009-05-26T20:15:33Z

On Tue, 26 May 2009 10:23:36 -0400 (EDT)
Christoph Lameter <cl@linux.com> wrote:

> @@ -410,6 +412,11 @@ swp_entry_t get_swap_page(void)
> }
>
> nr_swap_pages++;
> + if (!out_of_swap_message_printed) {
> + out_of_swap_message_printed = 1;
> + printk(KERN_WARNING "All of swap is in use. Some pages "
> + "cannot be swapped out.\n");
> + }
> noswap:
> spin_unlock(&swap_lock);
> return (swp_entry_t) {0};
> Index: linux-2.6/mm/vmscan.c
> ===================================================================
> --- linux-2.6.orig/mm/vmscan.c 2009-05-26 09:06:03.000000000 -0500
> +++ linux-2.6/mm/vmscan.c 2009-05-26 09:20:30.000000000 -0500
> @@ -1945,6 +1945,15 @@ out:
> goto loop_again;
> }
>
> + /*
> + * If we had an out of swap condition but things have improved then
> + * reset the flag so that we print the message again when we run
> + * out of swap again.
> + */
> +#ifdef CONFIG_SWAP
> + if (out_of_swap_message_printed && !vm_swap_full())
> + out_of_swap_message_printed = 0;
> +#endif
> return sc.nr_reclaimed;
> }

I still worry that there may be usage patterns which will result in
this message coming out many times.