On 09/21/2011 07:03 PM, Trond Myklebust wrote: >>> >>> These are the options so far: >>> >>> [Toe's option which he rather not] >>> 1. preallocate memory for extent state conversion >>> 2. use nfsiod/rpciod to handle bl_write_cleanup >>> 3. for pnfs error case, create a kthread to recollapse and resend to MDS >>> >>> [My option which I think Toe agrees with] >>> 1. preallocate memory for extent state conversion >>> 2. use pnfs-wq to handle bl_write_cleanup >>> 3. pnfs error case, just like Toe's patches as part of io_done >>> on pnfs-wq >> Yeah, I would vote for this one because of its simplicity. ;-) > > Sigh... The problem is that it completely fails to address the problem. > > What's the difference between having pNFS completions run on nfsiod or > their own work queue? You'd be running i/o and allocations on the same > queue in both cases. > I don't understand, did you mean "io_done" and "coalescing" (which does allocations), so IO cannot complete to clean up memory so allocations can proceed? But I thought we don't do that with Toe's latest patches. because we no longer do coalescing on the io_done path. We only re-dirty the memory and let the normal nfsiod/rpciod do the coalescing. So it is what you want pnfs-wq is only for io_done the regular coalescing/allocation is done in fsiod/rpciod. I though that was the all Idea no? (It was your idea actually) Or I might completely missed the point. Please explain > Cheers > Trond > Thanks Boaz -- 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