lkml.org 
[lkml]   [2021]   [Feb]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] mm/page_io: Use pr_alert_ratelimited for swap read/write errors
From
Date
Hi:
On 2021/2/1 22:20, Georgi Djakov wrote:
> 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.
>
> Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>

Make sense for me. Thanks.
Reviewed-by: Miaohe Lin <linmiaohe@huawei.com>

> ---
> mm/page_io.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/mm/page_io.c b/mm/page_io.c
> index 92f7941c6d01..485fa5cca4a2 100644
> --- a/mm/page_io.c
> +++ b/mm/page_io.c
> @@ -41,9 +41,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);
> @@ -106,9 +106,9 @@ static void end_swap_bio_read(struct bio *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;
> }
>
>
> .
>

\
 
 \ /
  Last update: 2021-02-02 03:18    [W:0.091 / U:0.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site