Re: [PATCH 0/2] generic_file_buffered_read improvements

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 15, 2018 at 07:26:30PM -0400, Kent Overstreet wrote:
> Small patch series to
>  - firstly, refactor generic_file_buffered_read enough that it can be modified
>    in more interesting ways without going insane, and then
> 
>  - secondly, change it to use find_get_pages_contig() to batch up the page
>    operations, and then copy data to userspace in a separate loop that touches
>    no other shared cachelines.
> 
> I've been seeing profiles where the radix tree lookups in the buffered read path
> are a shockingly large portion of the profile (around 25%, if memory serves) -
> that's what this patch series is addressing. I've benchmarked small block reads
> as well, performance there is unaffected or slightly improved (it's within the
> margin of error).
> 

/me didn't review the patches, but...

Could you share how you benchmarked it? Despite the fact I'm curious about it,
it's going to be interesting the 'proof' of such improvement.

Cheers

> And as a bonus, the code that was all in generic_file_buffered_read() is now
> _drastically_ easier to follow and modify. I haven't done as much refactoring as
> I could have, I kept as much of the structure of the old code as I could just to
> make things easier on myself, but I'm still pretty happy with the result.
> 
> Kent Overstreet (2):
>   fs: Break generic_file_buffered_read up into multiple functions
>   fs: generic_file_buffered_read() now uses find_get_pages_contig
> 
>  mm/filemap.c | 486 +++++++++++++++++++++++++++++----------------------
>  1 file changed, 273 insertions(+), 213 deletions(-)
> 
> -- 
> 2.18.0
> 

-- 
Carlos



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux