mbox series

[0/8] mm: Speedup page cache truncation

Message ID 20200204142514.15826-1-jack@suse.cz (mailing list archive)
Headers show
Series mm: Speedup page cache truncation | expand

Message

Jan Kara Feb. 4, 2020, 2:25 p.m. UTC
Hello,

conversion of page cache to xarray (commit 69b6c1319b6 "mm: Convert truncate to
XArray" in particular) has regressed performance of page cache truncation
by about 10% (see my original report here [1]). This patch series aims at
improving the truncation to get some of that regression back.

The first patch fixes a long standing bug with xas_for_each_marked() that I've
uncovered when debugging my patches. The remaining patches then work towards
the ability to stop clearing marks in xas_store() which improves truncation
performance by about 6%.

The patches have passed radix_tree tests in tools/testing and also fstests runs
for ext4 & xfs.

								Honza

[1] https://lore.kernel.org/linux-mm/20190226165628.GB24711@quack2.suse.cz

Comments

David Sterba Feb. 6, 2020, 2:40 p.m. UTC | #1
On Tue, Feb 04, 2020 at 03:25:06PM +0100, Jan Kara wrote:
> Hello,
> 
> conversion of page cache to xarray (commit 69b6c1319b6 "mm: Convert truncate to
> XArray" in particular) has regressed performance of page cache truncation
> by about 10% (see my original report here [1]). This patch series aims at
> improving the truncation to get some of that regression back.
> 
> The first patch fixes a long standing bug with xas_for_each_marked() that I've
> uncovered when debugging my patches. The remaining patches then work towards
> the ability to stop clearing marks in xas_store() which improves truncation
> performance by about 6%.
> 
> The patches have passed radix_tree tests in tools/testing and also fstests runs
> for ext4 & xfs.

I've tested the patchset on btrfs too, no problems found.
Jan Kara Feb. 18, 2020, 9:25 a.m. UTC | #2
Hello Matthew!

Any resolution on this? I'd like to move this further...

								Honza

On Tue 04-02-20 15:25:06, Jan Kara wrote:
> Hello,
> 
> conversion of page cache to xarray (commit 69b6c1319b6 "mm: Convert truncate to
> XArray" in particular) has regressed performance of page cache truncation
> by about 10% (see my original report here [1]). This patch series aims at
> improving the truncation to get some of that regression back.
> 
> The first patch fixes a long standing bug with xas_for_each_marked() that I've
> uncovered when debugging my patches. The remaining patches then work towards
> the ability to stop clearing marks in xas_store() which improves truncation
> performance by about 6%.
> 
> The patches have passed radix_tree tests in tools/testing and also fstests runs
> for ext4 & xfs.
> 
> 								Honza
> 
> [1] https://lore.kernel.org/linux-mm/20190226165628.GB24711@quack2.suse.cz