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 5C6C4C47DA9 for ; Tue, 30 Jan 2024 08:38:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EB5306B009F; Tue, 30 Jan 2024 03:38:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E64BD6B00A1; Tue, 30 Jan 2024 03:38:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D2D2F6B00A2; Tue, 30 Jan 2024 03:38:12 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id C1C1D6B009F for ; Tue, 30 Jan 2024 03:38:12 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 92EEF12088B for ; Tue, 30 Jan 2024 08:38:12 +0000 (UTC) X-FDA: 81735325224.02.AA0254B Received: from mail-lj1-f176.google.com (mail-lj1-f176.google.com [209.85.208.176]) by imf05.hostedemail.com (Postfix) with ESMTP id BC4F3100023 for ; Tue, 30 Jan 2024 08:38:10 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=OliXmOZt; spf=pass (imf05.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.208.176 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706603890; a=rsa-sha256; cv=none; b=aTHRNj1MRj8yJBiKuXAJ+GUuued+8xUDc9I4WJ/6GJNZerbc9IVRFMDUgZjfJ9aodfno6A /Grymjx9/33pLuxGaBRBSasV1j0KgWHd2obcc5eMwRzJHaut959qGxobxbDhj6wy06xFZL VLUhy7jMBZxGKXW6doSvCOlEUjMSrkM= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=OliXmOZt; spf=pass (imf05.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.208.176 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706603890; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=xDU/2MwbFRllUTNWUINgIIfQ9WlIfROwCcs26QMTgo4=; b=hv/emR9WL/NMPVgNkbIgYkE8ArlYWi5kBTYYCrMeGGIucxbbSQiomD2R159AFBLU9eLX9L F54TwBFBa7zQ4Ue41a7s5YjraVUF+cgwjtJUviSLqfrNlaucZF5Htj2f0HuoE+DBDMweKK xHTgYXRSQVC4DWZwrqcTgk5FRKwbdPM= Received: by mail-lj1-f176.google.com with SMTP id 38308e7fff4ca-2cf42ca9bb2so43752071fa.1 for ; Tue, 30 Jan 2024 00:38:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706603889; x=1707208689; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=xDU/2MwbFRllUTNWUINgIIfQ9WlIfROwCcs26QMTgo4=; b=OliXmOZtJPvM06etOlO13mJYFsuWMPhbPz70r4b1xTrwoGxZi+blPdfInQK+CkqXKZ T1a7K9sqhr0/Jj0Kzu12JHBt172DoNGhTpIf+s/Ga7urSO+KjS3OTMCAs2gNpu9J/2C3 t7Usiy7wiFsC56DE5Spt+3I3QGt8qtnccAGc2nkZceMO5dPObDREaOYtjFxQwexj8bWa eadv2AhEHF0V3LoMwwZxckiYrIPraxXwTMNxzeK1fcRjQL/qsMtofHZolxC/qhyTyBDf nHy6QaWmcNeF1cZmsvt5Tr/uUf2A6P9tPYCBKyQ/D6tDR76b8q9Nyedd1lZfV4tMbtEW VncA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706603889; x=1707208689; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xDU/2MwbFRllUTNWUINgIIfQ9WlIfROwCcs26QMTgo4=; b=wOx5r4EifupTuTg9zuosUPSA7snbI2440YUre5kJbZ1pn0PxRCz1F1G8HjsytD52OV Mw48BV9VFjXALjqaKqvUA6ohToiUg0VFHF4JT4bIsltrFlhkvzCzhHZZPmunus9aYrKe DiL+JjtpQYn+ckL1F/YJvMBYXMJYZJNbzpU/lVbY0PF5imF9HAfHA+feudvCZX/IgNiV shNVfPZvizeGjhkNgWipVkwMg75IJMYAmtnN8efWzpZ0pKMe7dhT6iQqcJ834Bm15636 QyzumrTOovdwetb7TFuq8sT1LBKfenLFy+xIJ687hWuCA5XxrPnfCkktV0TYsMrIqmB8 ruMQ== X-Gm-Message-State: AOJu0Yxd678J8uVoS+0QB0AvbHlYMZ307sggf/RcGRgbqgAb6C6+7kTV veqQdvPKRSW3uoxJPElsRtPtpmgoiX1vdoPLPPto3nrk2ulCjj/U2dlvYgLEnDp7niMdero09KM NrUyNRr0Qo0kUil4Ua8AYRfhZG7s= X-Google-Smtp-Source: AGHT+IHu0HanyunsHlgYEqJQJkb6JsQMDMYRKggdaYtUb1d24h//flk1b8/XUBsfJ1tJjUmeHUbxDJxWMCKp612sy4o= X-Received: by 2002:a2e:a278:0:b0:2d0:4c36:8cbf with SMTP id k24-20020a2ea278000000b002d04c368cbfmr2772545ljm.16.1706603888667; Tue, 30 Jan 2024 00:38:08 -0800 (PST) MIME-Version: 1.0 References: <20240126120800.3410349-1-zhaoyang.huang@unisoc.com> In-Reply-To: From: Zhaoyang Huang Date: Tue, 30 Jan 2024 16:37:46 +0800 Message-ID: Subject: Re: [PATCHv4 1/1] block: introduce content activity based ioprio To: Matthew Wilcox Cc: "zhaoyang.huang" , Andrew Morton , Jens Axboe , Yu Zhao , Damien Le Moal , Niklas Cassel , "Martin K . Petersen" , Hannes Reinecke , Linus Walleij , linux-mm@kvack.org, linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, steve.kang@unisoc.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: BC4F3100023 X-Stat-Signature: 6776j7ohj1dyrjar761nxhhym1nt6ees X-Rspam-User: X-HE-Tag: 1706603890-160170 X-HE-Meta: U2FsdGVkX18inpHoQrsOQTmpUv/sPSpUMOTdMLhUJrTpGijZxShhEzAvD8z2j9N0eMZDrTrLVQ1xRPIEf6LkpLoc9ir3hDYeGy0fM33rPJrZ9I3nVgV4UFBZTDrvDplFO3lJ1pVziJl4XRN6spmVFK2nlMOvSBoaRtIEPtiPJsM0+ClTBqWy/laHHxfv5yRwPx5McazEkuaRxWD5+7SlmQ7zLcKkt7pK+07F5J/FPI0MRWkFB8exOuCsGXZtL/PTHT0fbwV4IiotWbBQR6YVs1bLiYiKnNQiVpE+x/5E1nOQ/uV05d5RYamCQYoQHXXSUB3TrPakX5oqnHnPGZvU1S90VsvVuWqOjbdq+dhyhPvT4bbjxvt6r+bwqBA9phclHpwE9HAnusUNCCpuSAXgyxj5rFgGtpuodaqsg02DSVFGJ5TALxWrtI04AX0+/2pg5A8NJhLbJ8S9umBtVV3pu4Xku4UNe39qmW4WU9MDsk7KEKHj5h28Rky98YVLq6PGStTtje2jaMEEVn+wRvouwCgo/MOuS8UvGRMzwXcf9sylNV/t6v/8FYQZTp7pWnkkVmIbUWgNGDsfJrfJZRKqcC/0B4H9WO575WJf7vPhoH0yFgOTnf4hzP+jwNSs0lw7Y5N9UZiwePyjJNrAzBuSFZ9w8kU22MJRFjq2qJLpORB7B7dcTkwGD0si7PKYIJ4D33kJRZBC14AWUCyHJQm+SGc/YdCkfloveMFurdzy27F9oKT0qg75Lj8fjvJ7IadV3cxeVvCzNerk7Ztl6K97fnXUjctmHlB2UB6OrDKRQcK+nV9QLrWCOCscxZABtbjnqh/KqXlhZYuyn5BSCXBhbvvz+ZOW7e3joqKL2sBIXIgFFQLmGj39h4gv2nehoh7A39xAb0DbGwRrycUalkTMs0+Y1QEI2ehsKcegkBqqF91MKvZSTzvu9hJrDXJzGH443Muzxb3C5EYY6utrokJ uRPJJ67I 2L2e0jpRhncuKgv6cOJZ8dRpY0kHTGDveqg79uNHtjK+mGnHh+3P/0westPJfsxVGrQeRfP6oWq2n1c6Ohy2A9ClpIYoLJSDaSHADYfSC3CMUYhWVsokQJtwVfs3mCqRdjavbvC3ag37vzlrRCJ/0++3AtH3vk7Pu7DvQVbS+2Y8C0wLf2CrOhKLLTJSZqf4Adbpu02RE2mPwSpr5SESTAS+8z+/rb6pwjz1S9uukQKTC77fuLa1qJ61vuELX89lbi6C2MEiVbQxRpqz+8Ac628nPtcfl9jaLFFT1p/qR/GH2Mrdb2CmPK5sDLia9g8Qa7NNCFeM+hBL9JiFfAfZBd7Vmrb9GlsvSyNGehcmcCj/dgU591TSging8etVsrAeto2TkmRWmtRk4upxHsjotoIXOsdOzsL5XIS3e 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: List-Subscribe: List-Unsubscribe: On Fri, Jan 26, 2024 at 10:24=E2=80=AFPM Matthew Wilcox wrote: > > On Fri, Jan 26, 2024 at 08:08:00PM +0800, zhaoyang.huang wrote: > > +#ifdef CONFIG_CONTENT_ACT_BASED_IOPRIO > > +#define bio_add_page(bio, page, len, offset) \ > > + ({ \ > > + int class, level, hint, activity; \ > > + int ret =3D 0; \ > > + ret =3D bio_add_page(bio, page, len, offset); = \ > > + if (ret > 0) { \ > > + class =3D IOPRIO_PRIO_CLASS(bio->bi_ioprio); = \ > > + level =3D IOPRIO_PRIO_LEVEL(bio->bi_ioprio); = \ > > + hint =3D IOPRIO_PRIO_HINT(bio->bi_ioprio); = \ > > + activity =3D IOPRIO_PRIO_ACTIVITY(bio->bi_ioprio)= ; \ > > + activity +=3D (bio->bi_vcnt + 1 <=3D IOPRIO_NR_AC= TIVITY && \ > > + PageWorkingset(&folio->page)) ? 1 : 0; = \ > > I know you didn't even compile this version. sorry for forgetting to enable corresponding fs, it will be corrected in the next patchset. The correct version is compiled and verified by including act_ioprio.h in the below files in the same android environment as the previous version. modified: fs/erofs/zdata.c modified: fs/ext4/page-io.c modified: fs/ext4/readpage.c modified: fs/f2fs/data.c modified: fs/mpage.c > > More importantly, conceptually it doesn't work. All kinds of pages > get added to bios, and not all of them are file/anon pages. That > PageWorkingset bit might well be reused for other purposes. Only > the caller knows if this is file/anon memory. You can't do this here. > I noticed the none-file bio's you mentioned such as the one in xfs_rw_bdev() and fscrypt_zeroout_range(). That's also the reason I don't define the macro in common fs's header file. It should be up to fs to decide which bio_add_xxx should be replaced by the activity based one while keeping others as legacy versions.