Re: [PATCHSET v6 0/26] pnfs for 2.6.40

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

 



On 2011-05-23 21:50, Boaz Harrosh wrote:
> On 05/23/2011 07:33 PM, Benny Halevy wrote:
> Benny Hi
> 
> I have a problem that the default wsize is very small 64K and
> I get small IOs. I found that the governing member right now
> is NFS_SERVER()->wsize
> 
> I did the below hack on My current code, but you took that away
> from me.
> 
> diff --git a/fs/nfs/objlayout/objlayout.c b/fs/nfs/objlayout/objlayout.c
> index ec40408..f7b09e1 100644
> --- a/fs/nfs/objlayout/objlayout.c
> +++ b/fs/nfs/objlayout/objlayout.c
> +	server->wsize = ((PAGE_SIZE - sizeof(struct bio)) / sizeof(struct bio_vec))
> +			* PAGE_SIZE * 2;
>  
> -	dprintk("%s: Return data=%p\n", __func__, data);
> +	dprintk("%s: Return data=%p wsize=0x%x\n", __func__, data, server->wsize);
>  	return 0;
>  }
> 
> What do you want that we do to replace this. The default 64K is to small.
> I don't mind that for pnfs it will be ~0 and the pg_test() will test
> for maxc_size as well. But then we'll also need the current size or the
> start_index
> 
> Boaz

How about this approach?

git diff --stat -p -M
 fs/nfs/pagelist.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
index c80add6..3f5508b 100644
--- a/fs/nfs/pagelist.c
+++ b/fs/nfs/pagelist.c
@@ -293,7 +293,7 @@ static int nfs_pageio_do_add_request(struct
nfs_pageio_descriptor *desc,
 		if (desc->pg_bsize < PAGE_SIZE)
 			return 0;
 		newlen += desc->pg_count;
-		if (newlen > desc->pg_bsize)
+		if (newlen > desc->pg_bsize && !desc->pg_test)
 			return 0;
 		prev = nfs_list_entry(desc->pg_list.prev);
 		if (!nfs_can_coalesce_requests(prev, req, desc))
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux