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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 79CA6C433EF for ; Wed, 1 Dec 2021 11:13:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EB26E6B0073; Wed, 1 Dec 2021 06:13:02 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E3B7C6B0074; Wed, 1 Dec 2021 06:13:02 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CDBD06B0075; Wed, 1 Dec 2021 06:13:02 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0070.hostedemail.com [216.40.44.70]) by kanga.kvack.org (Postfix) with ESMTP id B9C936B0073 for ; Wed, 1 Dec 2021 06:13:02 -0500 (EST) Received: from smtpin25.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 73C4818124C71 for ; Wed, 1 Dec 2021 11:12:52 +0000 (UTC) X-FDA: 78868962984.25.356CFB4 Received: from mail-qt1-f182.google.com (mail-qt1-f182.google.com [209.85.160.182]) by imf19.hostedemail.com (Postfix) with ESMTP id E0BF7B0000AF for ; Wed, 1 Dec 2021 11:12:51 +0000 (UTC) Received: by mail-qt1-f182.google.com with SMTP id f20so23543377qtb.4 for ; Wed, 01 Dec 2021 03:12:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=/qgvOkZEM3lx0/khvl/WvVYYCH02Irf7u8oy1QcHGIE=; b=EYmBbkrozaG+4zbQmrjhWfYmeMvdxlC1bDluI0d39uYp+28ROCyJu36iJYDVVKubPI Z7ss7yiWziOwwDdyl+PwO2yTeRMSqpUwI7Gg0WgZviYnY7JZKXBUMcliL2qfhg+zNQ/Y w3pbS6KQkGJJLtJEAirAlXnBsa8mJaC3sjmu6vvrdZHjT6UekYvEan5W6H1yCiORRG8E 3q8c5zihpOF1jG/9ifEMj+QU9r/Bhdhnuv+ghHSmBLlWyq0qrHUUS1AlKy0X/oPWZ5WI 7DvCD4WDX3j9uw444fm/rt00ri9nVCfWGQhiy8Tso6n6Ua9PKgwoi9V8f81xm0eQib6P 9WIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=/qgvOkZEM3lx0/khvl/WvVYYCH02Irf7u8oy1QcHGIE=; b=ZMU4Hshy2Lrue54Ha1FI/q8PQoc2XZuo6ZtEYNrH0FawXd9rkziE4Plrs0hxldxbBp 0B2TN9HpzeX+p+/rF8Kppw/JH04v2Nc6CA7W2UvWKtN9zvmTUT7s7/JB8kXzZKzsjLJT gHvEMbqLz4XCvS/IzHUKmqOZMbuRayjL9niyy/p+KIJZT/u/zyqtNNpV8S9E7382OTQO TitqAGIawn2jRPGU+eH8NhwCmjoTICcF1+uRyyEJzYU8ldoP1j/5P1MZg2dBAmHfovNe v+tLFeWz78P57PJSHszxPONY8VhZ6HKwVuJUBJ1s6LBPgHBzMLRz2dOBgplE8CWMES8h QumA== X-Gm-Message-State: AOAM533X8ASGhIZkRN0CukfZXcTtCPVcqIoqTeXrRsc7es4YCdbaRlU5 3XLHpeJNB4q5aimddOqQt5B0qMh8tZhM7MeDmEw= X-Google-Smtp-Source: ABdhPJwR/AYvVCQcFST+kZTP3V4IqZzbHGaDrE3Sk9aJtrHbw61EoQG1md2Sz9BGUrm31gbXyKTw8PKmw0unAQSnQAc= X-Received: by 2002:a05:622a:1004:: with SMTP id d4mr5942284qte.95.1638357171215; Wed, 01 Dec 2021 03:12:51 -0800 (PST) MIME-Version: 1.0 References: <1638356341-17014-1-git-send-email-huangzhaoyang@gmail.com> In-Reply-To: <1638356341-17014-1-git-send-email-huangzhaoyang@gmail.com> From: Zhaoyang Huang Date: Wed, 1 Dec 2021 19:12:30 +0800 Message-ID: Subject: Re: [RFC PATCH] mm: count zram read/write into PSI_IO_WAIT To: Nitin Gupta , Sergey Senozhatsky , Jens Axboe , Johannes Weiner , Minchan Kim , Zhaoyang Huang , "open list:MEMORY MANAGEMENT" , LKML Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: E0BF7B0000AF X-Stat-Signature: yy7sfrysczyqa6y6um3mogu7bjf9yk5p Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=EYmBbkro; spf=pass (imf19.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.160.182 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-HE-Tag: 1638357171-676863 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: There is no chance for zram reading/writing to be counted in PSI_IO_WAIT so far as zram will deal with the request just in current context without invoking submit_bio and io_schedule. On Wed, Dec 1, 2021 at 6:59 PM Huangzhaoyang wrote: > > From: Zhaoyang Huang > > Have zram reading/writing be counted in PSI_IO_WAIT. > > Signed-off-by: Zhaoyang Huang > --- > drivers/block/zram/zram_drv.c | 18 ++++++++++++++++-- > 1 file changed, 16 insertions(+), 2 deletions(-) > > diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c > index fcaf275..b0e4766 100644 > --- a/drivers/block/zram/zram_drv.c > +++ b/drivers/block/zram/zram_drv.c > @@ -34,6 +34,7 @@ > #include > #include > #include > +#include > > #include "zram_drv.h" > > @@ -1246,7 +1247,9 @@ static int __zram_bvec_read(struct zram *zram, struct page *page, u32 index, > zram_get_element(zram, index), > bio, partial_io); > } > - > +#ifdef CONFIG_PSI > + psi_task_change(current, 0, TSK_IOWAIT); > +#endif > handle = zram_get_handle(zram, index); > if (!handle || zram_test_flag(zram, index, ZRAM_SAME)) { > unsigned long value; > @@ -1257,6 +1260,9 @@ static int __zram_bvec_read(struct zram *zram, struct page *page, u32 index, > zram_fill_page(mem, PAGE_SIZE, value); > kunmap_atomic(mem); > zram_slot_unlock(zram, index); > +#ifdef CONFIG_PSI > + psi_task_change(current, TSK_IOWAIT, 0); > +#endif > return 0; > } > > @@ -1284,6 +1290,9 @@ static int __zram_bvec_read(struct zram *zram, struct page *page, u32 index, > if (WARN_ON(ret)) > pr_err("Decompression failed! err=%d, page=%u\n", ret, index); > > +#ifdef CONFIG_PSI > + psi_task_change(current, TSK_IOWAIT, 0); > +#endif > return ret; > } > > @@ -1471,7 +1480,13 @@ static int zram_bvec_write(struct zram *zram, struct bio_vec *bvec, > vec.bv_offset = 0; > } > > +#ifdef CONFIG_PSI > + psi_task_change(current, 0, TSK_IOWAIT); > +#endif > ret = __zram_bvec_write(zram, &vec, index, bio); > +#ifdef CONFIG_PSI > + psi_task_change(current, TSK_IOWAIT, 0); > +#endif > out: > if (is_partial_io(bvec)) > __free_page(page); > @@ -1607,7 +1622,6 @@ static blk_qc_t zram_submit_bio(struct bio *bio) > atomic64_inc(&zram->stats.invalid_io); > goto error; > } > - > __zram_make_request(zram, bio); > return BLK_QC_T_NONE; > > -- > 1.9.1 >