lkml.org 
[lkml]   [2005]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: OOM problems on 2.6.12-rc1 with many fsx tests
From
Date
Hi,

On Mon, 2005-04-04 at 02:35, Andrew Morton wrote:

> Without the below patch it's possible to make ext3 leak at around a
> megabyte per minute by arranging for the fs to run a commit every 50
> milliseconds, btw.

Ouch!
> (Stephen, please review...)

Doing so now.

> The patch teaches journal_unmap_buffer() about buffers which are on the
> committing transaction's t_locked_list. These buffers have been written and
> I/O has completed.

Agreed. The key here is that the buffer is locked before
journal_unmap_buffer() is called, so we can indeed rely on it being
safely on disk.

> We can take them off the transaction and undirty them
> within the context of journal_invalidatepage()->journal_unmap_buffer().

Right - the committing transaction can't be doing any more writes, and
the current transaction has explicitly told us to throw away its own
writes if we get here. Unfiling the buffer should be safe.

> + if (jh->b_jlist == BJ_Locked) {
> + /*
> + * The buffer is on the committing transaction's locked
> + * list. We have the buffer locked, so I/O has
> + * completed. So we can nail the buffer now.
> + */
> + may_free = __dispose_buffer(jh, transaction);
> + goto zap_buffer;
> + }

ACK.

--Stephen

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-04-06 13:31    [from the cache]
©2003-2011 Jasper Spaans