The patch titled Subject: mm/page_io: use pr_alert_ratelimited for swap read/write errors has been added to the -mm tree. Its filename is mm-page_io-use-pr_alert_ratelimited-for-swap-read-write-errors.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/mm-page_io-use-pr_alert_ratelimited-for-swap-read-write-errors.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/mm-page_io-use-pr_alert_ratelimited-for-swap-read-write-errors.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Subject: mm/page_io: use pr_alert_ratelimited for swap read/write errors If there are errors during swap read or write, they can easily fill the log buffer and remove any previous messages that might be useful for debugging, especially on systems that rely for logging only on the kernel ring-buffer. For example, on a systems using zram as swap, we are more likely to see any page allocation errors preceding the swap write errors if the alerts are ratelimited. Link: https://lkml.kernel.org/r/20210201142055.29068-1-georgi.djakov@xxxxxxxxxx Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/page_io.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) --- a/mm/page_io.c~mm-page_io-use-pr_alert_ratelimited-for-swap-read-write-errors +++ a/mm/page_io.c @@ -60,9 +60,9 @@ 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", - MAJOR(bio_dev(bio)), MINOR(bio_dev(bio)), - (unsigned long long)bio->bi_iter.bi_sector); + 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); } end_page_writeback(page); @@ -125,9 +125,9 @@ static void end_swap_bio_read(struct bio if (bio->bi_status) { SetPageError(page); ClearPageUptodate(page); - pr_alert("Read-error on swap-device (%u:%u:%llu)\n", - MAJOR(bio_dev(bio)), MINOR(bio_dev(bio)), - (unsigned long long)bio->bi_iter.bi_sector); + pr_alert_ratelimited("Read-error on swap-device (%u:%u:%llu)\n", + MAJOR(bio_dev(bio)), MINOR(bio_dev(bio)), + (unsigned long long)bio->bi_iter.bi_sector); goto out; } _ Patches currently in -mm which might be from georgi.djakov@xxxxxxxxxx are mm-page_io-use-pr_alert_ratelimited-for-swap-read-write-errors.patch