From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 92908C433E0 for ; Tue, 2 Feb 2021 02:15:36 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id D7C5064EE0 for ; Tue, 2 Feb 2021 02:15:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D7C5064EE0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 5C3016B0005; Mon, 1 Feb 2021 21:15:35 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 573266B006C; Mon, 1 Feb 2021 21:15:35 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 489F56B006E; Mon, 1 Feb 2021 21:15:35 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0251.hostedemail.com [216.40.44.251]) by kanga.kvack.org (Postfix) with ESMTP id 346186B0005 for ; Mon, 1 Feb 2021 21:15:35 -0500 (EST) Received: from smtpin26.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id F2DBD180AD81A for ; Tue, 2 Feb 2021 02:15:34 +0000 (UTC) X-FDA: 77771711388.26.spark18_3005a60275c7 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin26.hostedemail.com (Postfix) with ESMTP id D0FD61804B669 for ; Tue, 2 Feb 2021 02:15:34 +0000 (UTC) X-HE-Tag: spark18_3005a60275c7 X-Filterd-Recvd-Size: 3297 Received: from szxga06-in.huawei.com (szxga06-in.huawei.com [45.249.212.32]) by imf12.hostedemail.com (Postfix) with ESMTP for ; Tue, 2 Feb 2021 02:15:33 +0000 (UTC) Received: from DGGEMS408-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga06-in.huawei.com (SkyGuard) with ESMTP id 4DV7fn2wtrzjGdm; Tue, 2 Feb 2021 10:14:25 +0800 (CST) Received: from [10.174.179.241] (10.174.179.241) by DGGEMS408-HUB.china.huawei.com (10.3.19.208) with Microsoft SMTP Server id 14.3.498.0; Tue, 2 Feb 2021 10:15:26 +0800 Subject: Re: [PATCH] mm/page_io: Use pr_alert_ratelimited for swap read/write errors To: Georgi Djakov CC: , , Andrew Morton References: <20210201142055.29068-1-georgi.djakov@linaro.org> From: Miaohe Lin Message-ID: Date: Tue, 2 Feb 2021 10:15:05 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <20210201142055.29068-1-georgi.djakov@linaro.org> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.174.179.241] X-CFilter-Loop: Reflected X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: 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 Make sense for me. Thanks. Reviewed-by: Miaohe Lin > --- > 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; > } > > > . >