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

Randy Dunlap
2009-05-26T20:41:58Z

Andrew Morton wrote:
> 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.

and using printk_ratelimit() or printk_timed_ratelimit() would be OK or not?

--
~Randy
LPC 2009, Sept. 23-25, Portland, Oregon