On 05/25/2013 05:57 AM, Dave Chinner wrote: > On Fri, May 24, 2013 at 03:59:10PM +0530, Glauber Costa wrote: >> From: Dave Chinner >> >> Convert the buftarg LRU to use the new generic LRU list and take >> advantage of the functionality it supplies to make the buffer cache >> shrinker node aware. >> >> * v7: Add NUMA aware flag > > I know what is wrong with this patch that causes the unmount hang - > it's the handling of the _XBF_LRU_DISPOSE flag no longer being > modified atomically with the LRU lock. Hence there is a race where > we can either lose the _XBF_LRU_DISPOSE or not see it and hence we > can end up with code not detecting what list the buffer is on > correctly. > > I haven't had a chance to work out a fix for it yet. If this ends up > likely to hold up the patch set, Glauber, then feel free to drop it > from the series and I'll push a fixed version through the XFS tree > in due course.... > > Cheers, > > Dave. > Please let me know what you think about the following two (very coarse) patches. My idea is to expose more of the raw structures so XFS can do the locking itself when needed. The memcg parts need to be rebased on top of that. If you agree with the approach, I will proceed with doing this.