On Fri, 2009-06-19 at 18:23 -0400, J. Bruce Fields wrote: > On Mon, May 18, 2009 at 05:47:56PM -0400, Trond Myklebust wrote: > > Ensure that deferred requests are accounted for correctly by the write > > space reservation mechanism. In order to avoid double counting, remove the > > reservation when we defer the request, and save any calculated value, so > > that we can restore it when the request is requeued. > > I like that it does the addition to xpt_reserved in just one place > instead of two, and carrying over the reserved_space is nice, but I > don't understand the "double accounting" comment--where exactly is > something counted twice? Correct me if I'm wrong, but as far as I can see, the current code bumps xpt_reserved every time you call svc_xprt_enqueue() irrespective of whether or not you are going to process a new RPC call, or whether you are processing a deferred call. In the latter case, there doesn't appear to be any code that subtracts from xpt_reserved prior to the re-enqueue process, hence my belief that we are double counting those events... Cheers Trond -- Trond Myklebust Linux NFS client maintainer NetApp Trond.Myklebust@xxxxxxxxxx www.netapp.com -- 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