Re: [PATCH 0/5] NFSv4.1 DRC rewrite version 6

J. Bruce Fields
2009-08-28T21:34:09Z

On Thu, Aug 27, 2009 at 12:07:39PM -0400, andros@netapp.com wrote:
>
> NFSv4.1 DRC Rewrite Version 6
>
> These patches apply against git://linux-nfs.org/~bfields/linux: for-2.6.32
> branch and continue to rewrite the NFSv4.1 Sessions DRC. Besides some
> bug fixes:

Thanks for following up on this. It looks fine except for a few nits
noted on replies to individual patches. Could you fix those up and
resend? And then I think #7 should be it....

--b.

>
> 1) The bound on the fore channel per-session DRC size are rewritten.
> Instead of just using a maximum number of slots to bound the size,
> The server gives the client the number of ca_maxresponsesize_cached slots it
> requests bounded by NFSD_SLOT_CACHE_SIZE, NFSD_MAX_MEM_PER_SESSION and by
> nfsd_drc_max_mem. Do not allow more than NFSD_MAX_SLOTS_PER_SESSION.
>
> This allows clients to tailor a session to usage.
> For example, an I/O session (READ/WRITE/COMMIT only) can have a much smaller
> ca_maxresponsesize_cached (for only WRITE/COMMIt compound responses) and a lot
> larger ca_maxresponses to service a large in-flight data window.
>
> 2) the page-based DRC is replaced with a buffer based DRC with each
> slot table entry (struct nfsd4_slot + cache) allocated separately.
> This allocation prepares us for slot size re-negotiation via the SEQUENCE
> operation target and high slot id arguments.
>
> Testing:
>
> NFSv4.1 mount: pynfs tests - including the SEQUENCE replay cache tests.
> connectathon tests.
>
> NFSv4.0 mount: connectathon tests.
>
> -->Andy
>
> 0001-nfsd41-expand-solo-sequence-check.patch
> 0002-nfsd41-bound-forechannel-drc-size-by-memory-usage.patch
> 0003-nfsd41-use-session-maxreqs-for-sequence-target-and.patch
> 0004-nfsd41-replace-nfserr_resource-in-pure-nfs41-respon.patch
> 0005-nfsd41-replace-page-based-DRC-with-buffer-based-DRC.patch
>