From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752152AbeAFElv (ORCPT + 1 other); Fri, 5 Jan 2018 23:41:51 -0500 Received: from mail-pg0-f67.google.com ([74.125.83.67]:35644 "EHLO mail-pg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751718AbeAFElt (ORCPT ); Fri, 5 Jan 2018 23:41:49 -0500 X-Google-Smtp-Source: ACJfBoujyPLl5KG3geQcfoSO3TxG4DPJPEDYwWXT20Ny/lZFrYr1qwdChIqfbKLuJGOUnXx6GoehTQ== From: Sergey Senozhatsky To: Andrew Morton Cc: Michal Hocko , Tetsuo Handa , Minchan Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Sergey Senozhatsky Subject: [PATCH] mm: ratelimit end_swap_bio_write() error Date: Sat, 6 Jan 2018 13:34:07 +0900 Message-Id: <20180106043407.25193-1-sergey.senozhatsky@gmail.com> X-Mailer: git-send-email 2.15.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: Use the ratelimited printk() version for swap-device write error reporting. We can use ZRAM as a swap-device, and the tricky part here is that zsmalloc() stores compressed objects in memory, thus it has to allocates pages during swap-out. If the system is short on memory, then we begin to flood printk() log buffer with the same "Write-error on swap-device XXX" error messages and sometimes simply lockup the system. Signed-off-by: Sergey Senozhatsky --- mm/page_io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/page_io.c b/mm/page_io.c index e93f1a4cacd7..422cd49bcba8 100644 --- a/mm/page_io.c +++ b/mm/page_io.c @@ -63,7 +63,7 @@ void end_swap_bio_write(struct bio *bio) * Also clear PG_reclaim to avoid rotate_reclaimable_page() */ set_page_dirty(page); - pr_alert("Write-error on swap-device (%u:%u:%llu)\n", + pr_alert_ratelimited("Write-error on swap-device (%u:%u:%llu)\n", MAJOR(bio_dev(bio)), MINOR(bio_dev(bio)), (unsigned long long)bio->bi_iter.bi_sector); ClearPageReclaim(page); -- 2.15.1