Hi folks, The following series of patches are all standalone fixes for various issues that have been reported by users. The first AGFL fix is a recent regression, which the other three address long standing issues. The second patch addresses the issue of memory allocation occurring under the CIL lock and memory reclaim requiring the CIL lock to be taken, resulting in deadlocks in extreme low memory conditions. This version has minor changes around the way the shadow buffer is allocated and initialised, but is otherwise mostly unchanged from previous RFC postings. The third patch addresses the excessive CPU overhead of bitmap based dirty buffer range tracking on large block sizes. It keeps a small number of ranges per buffer, and extends and merges them as appropriate. This completely removes the bitmap overhead from the buffer item formatting path. This main change in this patch from previous RFC postings is that it uses multiple ranges for tracking rather than a single range. I decided on 4 discrete ranges as the best tradeoff between efficiency and log space requirements. THe last patch addresses a buffer hold-off when there is lots of dirty metadata beign written back from the AIL. If a buffer at the tail of the log is at a very high offset in the filesytem (e.g. AGF header in the last AG), it could be locked for a long time while we wait for IO to lower offsets to be dispatched. IO dispatch gets blocked by device congestion, so in the worst case lock hold-offs measured in seconds have been recorded. This change sorts the buffer list into offset order before we lock any buffers, and then dispatches IO as each buffer is successfully locked. This limits lock holds to the length of time a buffer sits on the plug plus the IO time, which is usually very short. This means frequently used buffers can be locked and relogged while we wait for IO dispatch rather than blocking attempts to access the buffer. Comments, thoughts, etc all welcome. Cheers, Dave. _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs