lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 13 Dec 2021 18:04:10 +1100 From: "NeilBrown" <neilb@...e.de> To: "Dave Chinner" <david@...morbit.com> Cc: "Andrew Morton" <akpm@...ux-foundation.org>, "Mel Gorman" <mgorman@...e.de>, "Philipp Reisner" <philipp.reisner@...bit.com>, "Lars Ellenberg" <lars.ellenberg@...bit.com>, "Jan Kara" <jack@...e.com>, "Ryusuke Konishi" <konishi.ryusuke@...il.com>, "Darrick J. Wong" <djwong@...nel.org>, linux-xfs@...r.kernel.org, linux-ext4@...r.kernel.org, linux-nilfs@...r.kernel.org, linux-mm@...ck.org, linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org Subject: Re: [PATCH 2/2] Remove bdi_congested() and wb_congested() and related functions On Mon, 13 Dec 2021, Dave Chinner wrote: > On Mon, Dec 13, 2021 at 03:14:27PM +1100, NeilBrown wrote: > > These functions are no longer useful as the only bdis that report > > congestion are in ceph, fuse, and nfs. None of those bdis can be the > > target of the calls in drbd, ext2, nilfs2, or xfs. > > > > Removing the test on bdi_write_contested() in current_may_throttle() > > could cause a small change in behaviour, but only when PF_LOCAL_THROTTLE > > is set. > > > > So replace the calls by 'false' and simplify the code - and remove the > > functions. > > > > Signed-off-by: NeilBrown <neilb@...e.de> > .... > > diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c > > index 631c5a61d89b..22f73b3e888e 100644 > > --- a/fs/xfs/xfs_buf.c > > +++ b/fs/xfs/xfs_buf.c > > @@ -843,9 +843,6 @@ xfs_buf_readahead_map( > > { > > struct xfs_buf *bp; > > > > - if (bdi_read_congested(target->bt_bdev->bd_disk->bdi)) > > - return; > > Ok, but this isn't a "throttle writeback" test here - it's trying to > avoid having speculative readahead blocking on a full request queue > instead of just skipping the readahead IO. i.e. prevent readahead > thrashing and/or adding unnecessary read load when we already have a > full read queue... > > So what is the replacement for that? We want to skip the entire > buffer lookup/setup/read overhead if we're likely to block on IO > submission - is there anything we can use to do this these days? I don't think there is a concept of a "full read queue" any more. There are things that can block an IO submission though. There is allocation of the bio from a mempool, and there is rq_qos_throttle, and there are probably other places where submission can block. I don't think you can tell in advance if a submission is likely to block. I think the idea is that the top level of the submission stack should rate-limit based on the estimated throughput of the stack. I think write-back does this. I don't know about read-ahead. NeilBrown
Powered by blists - more mailing lists