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 A683DC25B77 for ; Fri, 10 May 2024 07:08:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 029D86B007B; Fri, 10 May 2024 03:08:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EF4DF6B0082; Fri, 10 May 2024 03:08:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D6F7B6B0083; Fri, 10 May 2024 03:08:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id B79DC6B007B for ; Fri, 10 May 2024 03:08:31 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 67BFFC171B for ; Fri, 10 May 2024 07:08:31 +0000 (UTC) X-FDA: 82101608022.27.7ED2DAE Received: from mail-lf1-f53.google.com (mail-lf1-f53.google.com [209.85.167.53]) by imf11.hostedemail.com (Postfix) with ESMTP id 9065E40018 for ; Fri, 10 May 2024 07:08:29 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=V9ZTn4qf; spf=pass (imf11.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.167.53 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=1715324909; 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=kQpYhVWiwVE8cmCno40oEMnygIoEgCFHvNbUd5F1nhQ=; b=d6rI54+0X6CSwGUDgDuXkNJt5Wm3XB18OHoaWWxMis8Y+m41I3mlEHIbXGzMNSDmIB24ig Ak9GxQDF+hiPyGtg88MEu3DEUT2PlzYy1M8xLSYiyj+DMd9akSJ/wn4jgkA8tmc15S6STd WwQqjJnKJ8G5VW8kSNUAOpNPokEB54E= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715324909; a=rsa-sha256; cv=none; b=0Ubmj2a0Ir9BR2PjAlAur20a33SmLuA10HV7Ij+ZCNUtQl1zxht5IyGUK+8Y3nrqLI3Fkj 6Av9C2c1JIqHSqC6b7aOXhGgY9w/fPghX/+xpzYKeYWlNfZ0dgF4/RO7yxMu9eWdfYCcPm T/V6x0OTyGLiZljCHTvp1zOMUEMQukE= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=V9ZTn4qf; spf=pass (imf11.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.167.53 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-lf1-f53.google.com with SMTP id 2adb3069b0e04-51f99f9e0faso1825337e87.2 for ; Fri, 10 May 2024 00:08:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715324907; x=1715929707; 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=kQpYhVWiwVE8cmCno40oEMnygIoEgCFHvNbUd5F1nhQ=; b=V9ZTn4qfJTuoX2YPAqf63ycjFufmSytO/9j2udEkTe+vUPF7clIuDOb6t3dx9WXo20 J5C24YXQltU/HnBMDtq54VjWfucO4rSIw42dWFeDwi/0K3+lWq6m8J8PoKWFiyFj/+2A Rg4OrZkV35QTRNgvwmm+5nEj++iz2yFj+2f4BT9BBUf6XHKn0eD4TJ9zQfgMf0LWSNEA vajUgZQ/OjKFmeoeYSzXt5mJOZT3aVrMI7apuvBTaOH3KBAdb+oyeqxOHG4QmHcVe1Pl Lkinu0ROjbg7JTaST2UtCkhamaFWyU12DL4lAoW95raojh/fcaPa1o/YTt/ejWVaHwAt IEzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715324907; x=1715929707; 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=kQpYhVWiwVE8cmCno40oEMnygIoEgCFHvNbUd5F1nhQ=; b=NVV1BUX4USU//Ua9K1RwJbfxA+CzwLOzlg66Xd0IojMAJMlOH0kFyV2UnXu1uHqoPo BQUPcBRO2Gz2xZcYuIsUDaPtkXyK16MZ7QwHIAziLYKpUoeEXieY4IRCh6s6tTCu3NA6 QBrRpe/akXylC8/4E1maIfXbSCOe2TfYWBGHnwd2udNO7+kdY3H8TPebtUy2BQCBAIVe iseDnRLNEn8X9BACXUii8LMzRkPHEkAexNWAS4fJbtmXjW7j5fgaqVExO0zjRxCjDc22 dcH1juuf+lAh69bVPVztj778qYoJU3Nvn3bHiYxiyII7bnM/GLvAZ91Qn6i43HrgNg7a zUsg== X-Forwarded-Encrypted: i=1; AJvYcCXswCX2mopucYRQgTQHZQIB610CFBGcep9Z8GprMTnLHiDopny0MgRSGmiKxesJuZH7Hll8vXJixfVBY6iwLBFi4bo= X-Gm-Message-State: AOJu0YwPF4yDA+7XBch078wHiQZ4o/8lr6I2KoAvgQneNtQg1G1yYivr vNMf+swP+9l/Q/00qUIi/buqJ7yDF1wqcvXf4qphR3Gx1/mDoYyGX3dB6Ig0nZw5TKy+jnenk96 edzVJc652nwvdhZhFMMXzcCZC79c= X-Google-Smtp-Source: AGHT+IHOZth7N0KOc57ZvmrChBT08+2DaHHt8hsfG1urm59128I1YZ+hCNdlQAGG18kUtdLjuDrukcvmGv0T1jIhxQ0= X-Received: by 2002:ac2:4c85:0:b0:51d:1c86:a274 with SMTP id 2adb3069b0e04-5221017775amr973568e87.34.1715324907267; Fri, 10 May 2024 00:08:27 -0700 (PDT) MIME-Version: 1.0 References: <20240509023937.1090421-1-zhaoyang.huang@unisoc.com> <20240509023937.1090421-3-zhaoyang.huang@unisoc.com> In-Reply-To: From: Zhaoyang Huang Date: Fri, 10 May 2024 15:08:16 +0800 Message-ID: Subject: Re: [RFC PATCH 2/2] mm: introduce budgt control in readahead To: Matthew Wilcox Cc: Christoph Hellwig , "zhaoyang.huang" , Andrew Morton , Jens Axboe , Tejun Heo , Josef Bacik , Baolin Wang , linux-mm@kvack.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, steve.kang@unisoc.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: h7zy491pjemntifqbfqmcbac6sdw8jss X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 9065E40018 X-HE-Tag: 1715324909-72696 X-HE-Meta: U2FsdGVkX19c2lR3ImWPchAB2mjAsOGf1N0kMq5DONm9DYfnCXlMZOLag+fio6uI55F5BgfmIDuKs/FxMgzCIHvkBJEut6Jh0WABBehZuEVQ8DERwEp06zILIziFxZ0u+4MbJx7OfHyVqnggWvCmXIsI8JsalTIEY52hHdt7n4wibHklfgI4B/FTpizSag8mvpwKcT5lV+DYVai24iD2DL1Py+d0HkM7sPG/I9JY+JlzB326OAUvQT728Hy5yQHDNuixcfPaoq/zAhWQZLdD3421hrlYxBD5/uhLNvFVHx/gPUgBJSu8vja6zOn9fG/XZn24BNV3/VR3kM8t6LOxX/kAu6djOBtuN9xAGGgnq9/V8dq/N4ogE9JROVpXF9KT1AcjYY1u1SOkwUQAhxt3lqNYM4TeJTchcT4LEqHs4jxQC/4v1WuD6fh5G6Fc1ubr9a7dqC8L3KnnoZ/8AXcNVV8O1n/zZtbghnmXwuQQ3gax/6p5HeWjUoxkORDAQn+WSbfNq8is2LmuSCkz1J6Mp/ttIDMFTYCidjhgNTsR+7HwXnxWPYD20EhIXPf6bA9vC8cIdm1Z0Jo+kV965guP+QRAFnwaold23eKPZfljv1gz7FNkDp6ldd2PDulhgxRmZQhb2l0+XjConPjGL38WWpjtZdn+3clgx5SLRDIDVzkO41BY2aq851tJ7yo7DbpNpBab3x6I+UwFDU6vxW2AiFqXEU/3jJ8PYZ5+UPjWlhRrFvBPK4dqxeJWOVlZpZIcA7vSmRPYUa6Sd0985fXiCAVwpc7qCWs27Zj5zFal5d+NZTdGIdhcq0C2KRe/+LQnyXWHgqaW0HhpnTE/JWFTHbOyiShEGBC4d/Agh1av6wCOcZrHG3kFRWfyXDlhUUA6pZJKadfgq0Mi9IzlGIN7S8nEjzpKWUeK3LqwgdECRsn51cNGy0mQAoaTCjclBgtUuYXk9BbOjQIbow+S1y7 CcBOXszE fR4cOQZPgbl2OgT1hLAq3LA0H7LtoByNqYjBr/TxZBGrXd4T5w3woAvunaNXd19UjKS9hTKGSMKVUZHa7XrdkVHYXki+UeruP2JIJkmO03LQJ22P/NoWl2w1q3uWxLo96JJnxnRdw5Kiq8jYKpxsWCYGpczNPivEfbKSXTPO138cHkOtJVP6wsJf12LII+t/K4FXQDVMTyfbZED+hKli5prB4vglhVeL2UYhNSAxOaAt0y2daTiwrK7rVGZBmpGdFW19Do3vnXwIj/5v1318YgRx1ixHgnEwD8wrkCeurEkJe7CnPoVPQ9pBxHPWTX0oSKMGlKiIh/t4ChEu2hJN30CqjAg5oD4MslFO3bfbttJCt3C2OpH7ww2bxLRCGfTt/oAJRa6xUEaWWrLSOZ6hEZSLoZVpUkas/6gKd X-Bogosity: Ham, tests=bogofilter, spamicity=0.000022, 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, May 10, 2024 at 12:14=E2=80=AFPM Matthew Wilcox wrote: > > On Fri, May 10, 2024 at 11:06:14AM +0800, Zhaoyang Huang wrote: > > On Thu, May 9, 2024 at 8:40=E2=80=AFPM Christoph Hellwig wrote: > > > > > > > + unsigned long budgt =3D inode->i_sb->s_bdev ? > > > > + blk_throttle_budgt(inode->i_sb->s_bdev) : 0; > > > > > > The readahead code is used for all file systems, you can't just call > > > into block layer code here. > > > > > ok. I would like to know any suggestions on introducing throttle > > budget control into readahead which actually works as a negative > > feedback path. IMO, negative feedback is a good methodology which has > > been used in scheduler(EAS) and thermal control(IPA) and > > memory(MGLRU). I would like to suggest to have a try on have it work > > cross the boundary of memory and block layer. > > > > vfs_read / page fault > > | > > readahead <---------| > > | | > > aops->readpages | > > | | > > block_layer------------ > > what you could do is have blk-throttle fail bios that are tagged as > readahead if we've hit the threshold? Actually, blk throttle will postpone the over-size bio's launch by adding it to the throttle group's private queue which this idea aims at. The delay here could be avoidable by some means to have the bio meet the max ability of the throttle blkcg. Furthermore, we may get a totally non over-sized readahead mechanism if we do this well.