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 D0033C25B10 for ; Fri, 10 May 2024 04:14:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EC02D6B0082; Fri, 10 May 2024 00:14:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E6FBA6B0083; Fri, 10 May 2024 00:14:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D5E236B0087; Fri, 10 May 2024 00:14:29 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id B976E6B0082 for ; Fri, 10 May 2024 00:14:29 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 284461216FE for ; Fri, 10 May 2024 04:14:29 +0000 (UTC) X-FDA: 82101169458.16.0C4FE03 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf08.hostedemail.com (Postfix) with ESMTP id 0C18C160008 for ; Fri, 10 May 2024 04:14:25 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Q0KGq4l5; dmarc=none; spf=none (imf08.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715314467; 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=qmAXbJMEtBWvZ+lBO/0Abu9PwbNNUeRaerpScRMSK8k=; b=OT6GfczRaHAnjkZTACQjTQ4WWLelkCycnZgjx541s964eI0jiBkQhM8I70VmF/k8wPu/iA qZRwd5xX1GvTvwEZpqJTCc69FcP4UIpfsJb7yH81j+Rf3i3xORZcVstf7jkU/GX/CZJOR4 vhq3jtJS+bjcHEKp2dLUs597OdtNK9U= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Q0KGq4l5; dmarc=none; spf=none (imf08.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715314467; a=rsa-sha256; cv=none; b=MLgCxtmYrqAfBcc5XH4b/YLq/hNOyQWlVbTTbjokfK1TJURhL10ddk+sst6iocNfXLiVx0 HxQh6Rn4oA6GHN9AW2/53jFfLjXcs3qgFwDJRB+jj9N4Uy1zhp2pk8sB8A5SXt76av8a62 m6UHyp+3bsCULx8wawN20zHdoYrLVvE= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=qmAXbJMEtBWvZ+lBO/0Abu9PwbNNUeRaerpScRMSK8k=; b=Q0KGq4l5svbfb8bV1B8v1oX3fN z8hLxrvefMZU5s0PK9znUQTBe/rylZSu2vbN9Zu+8J1TqMDBEjbe2xGv1o0B51Hwn5t63CsxIkdOm UFpuolw9Axa2f2tiHBZXaCJvLCsehr8B14yD3v08aDj9nNRdJQ2AB2TcnB6qI7E7P8OMmIEILOgve 4kkn3FOhteQongeGQes35W64tRtCxq4wZFiLvPhr2TxRLO49BUus5Y4bNlmiJfM+5AacdBYDFTJVd uIdRo15ikOh8CvHJml64znveMysZiE9mjmNPkM2+qz+iZa+Ac2eLnzDLTCoCoq37ym4B1mq/d8iOD FCoAXokA==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1s5He6-00000002Dzz-0hY4; Fri, 10 May 2024 04:14:10 +0000 Date: Fri, 10 May 2024 05:14:10 +0100 From: Matthew Wilcox To: Zhaoyang Huang 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 Subject: Re: [RFC PATCH 2/2] mm: introduce budgt control in readahead Message-ID: References: <20240509023937.1090421-1-zhaoyang.huang@unisoc.com> <20240509023937.1090421-3-zhaoyang.huang@unisoc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 0C18C160008 X-Stat-Signature: 5767pk6s6j9hnxmud8xuow5borqu1z53 X-Rspam-User: X-HE-Tag: 1715314465-259749 X-HE-Meta: U2FsdGVkX1+vUYcUhax3owFUgdAazuO5EZy5bBMx/TMY/zzjwQX7sCuZ4YZZYxsl9gZVmbbwSeDFcwi2SRIvKU65W4cGtL+FKHWtYWO6+T/oF5zb4BG2lKVI1ltjdUMfNyQtf7am1a8fWPeqROVjx6lHzZpUejGENQc8M/pxFxr4f/XslfuUfwn1TyLeD0TI+ogzO7jL3WtuDdD3BdbwUQQi70B4AjAbasJ34H/ib9xaeRu2GLe43WBXhg/FvaRjXHXryNbxMB6CTiI9+oYi/SgXIfqkcXnBu/XUabMQG12sFu9WOBv1yLA6epdaMCNZJlTlrsuSvB+OfmGfRldkTva23jFYbCnjLl3uNyi3Pb7oMgXIYAvlVpRPjmG2vWX2Lwya6SBVwFAFovmACs/t+vz6opQVqkGoUXjIIQ9eA512jMxix68pdh8TS54YcwC4r6X8JnAmmxsMSIOoUziIHvyMFUwOtrildhT48RT19NtIsqo44pu/N3hw+n6vrM/4tOoFKsVblM4PxkBY/+QekLrg1SdNk1+x5Jhuov3hKCMX6TgdaQUgc6BtQt3YXvG6eMAUJz1+6oegJdXNDlOXM8ggVK0vKPIP08h7AAYaX8T0tiFGOF4oNRp+6SzeW40zBirddbjhEI5Lvbe/VCnywDUnNbOm3VofbdnrHbIPZDbE+fsCRm8pw2LSe4J2TmE84QeXVWCvF9QNInk+axrI9OeNA0I18QTwthpI3NTfC67GHnOWxbx6y3rJEhdp8bDHjkti69XXwGQ4FDTFffEAIxbGp4ji2AgfbDvl+c0UFv8aU0UsCyuKFMs5c48W9LfOCEKGaBEIcuuakGccj5DOw7uqCY+sn0D2OeaKen2SpkZsjyV79p46FnIQlwO9zG1vUsWtnxWP2Gk9VRjfEViS+QjGNdQghnRS937qN+i68GlIINss4R5poX1Br4HV/09/2D6VbdWveq5q0Gy5nld oqbAXUum bBLzbc3z+xObynAzFrLn+Dv+iQj5SsYLwAuQOLvd8vOVYIycB5Wh+/MM0FMD8qGeM5hRC6YmiBh9tonvP8LEg2EHXYoxHPDrDBAv2Nm/JhEs1c0UzgDPNzOSW94FM3Qw8b3cloU7+h1a8lw1gwpVtX8+KAh4/B3MtuvF67QbmDUV6MaKOMuDWinHGvwUOz3ZtmWho+mzaFlHuasyvt73s8Gp+xptBRBz5akx3 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, May 10, 2024 at 11:06:14AM +0800, Zhaoyang Huang wrote: > On Thu, May 9, 2024 at 8:40 PM Christoph Hellwig wrote: > > > > > + unsigned long budgt = 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?