Re: [PATCH 2/2] fs: generic_file_buffered_read() now uses find_get_pages_contig
From: Matthew Wilcox
Date:  Tue Jun 09 2020 - 20:48:17 EST
On Tue, Jun 09, 2020 at 08:10:36PM -0400, Kent Overstreet wrote:
> @@ -2275,83 +2287,93 @@ static ssize_t generic_file_buffered_read(struct kiocb *iocb,
>  		struct iov_iter *iter, ssize_t written)
>  {
>  	struct file *filp = iocb->ki_filp;
> +	struct file_ra_state *ra = &filp->f_ra;
>  	struct address_space *mapping = filp->f_mapping;
>  	struct inode *inode = mapping->host;
> -	struct file_ra_state *ra = &filp->f_ra;
>  	size_t orig_count = iov_iter_count(iter);
> -	pgoff_t last_index;
> -	int error = 0;
> +	struct page *pages[64];
That's 512 bytes which seems like a lot of stack space.  Would 16 be
enough to see a significant fraction of the benefit?