Re: [PATCH 17/17] pnfs/blocklayout: allocate separate pages for the layoutcommit payload

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

 



On Thu, Aug 07, 2014 at 07:05:03PM +0800, Peng Tao wrote:
> On Thu, Aug 7, 2014 at 3:23 PM, Christoph Hellwig <hch@xxxxxx> wrote:
> > Instead of overflowing the XDR send buffer with our extent list allocate
> > pages and pre-encode the layoutupdate payload into them.  We optimistically
> > allocate a single page use alloc_page and only switch to vmalloc when we
> > have more extents outstanding.  Currently there is only a single testcase
> > (xfstests generic/113) which can reproduce large enough extent lists for
> > this to occur.
> >
> depending on how badly the extents are fragmented, it might worth
> starting an async layoutcommit within blocklayout client when bl_count
> reaches certain limit, so that we don't send an unlimited amount of
> extents in one layoutcommit.

I though about this, but this only reduces the problem and we'd still
need to be able to commit all extents for a data integrity operation,
so we'd still need someting like the above.

The other option I considered and prototyped was to send multiple on the
wire layoutcommit calls from pnfs_layoutcommit_inode, but that did prove
to be even more cumbersome.
--
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