On Thu, Apr 02, 2015 at 03:58:19PM +0200, Jan Kara wrote: > jbd2_journal_get_write_access() and jbd2_journal_get_create_access() are > frequently called for buffers that are already part of the running > transaction - most frequently it is the case for bitmaps, inode table > blocks, and superblock. Since in such cases we have nothing to do, it is > unfortunate we still grab reference to journal head, lock the bh, lock > bh_state only to find out there's nothing to do. > > Improving this is a bit subtle though since until we find out journal > head is attached to the running transaction, it can disappear from under > us because checkpointing / commit decided it's no longer needed. We deal > with this by protecting journal_head slab with RCU. We still have to be > careful about journal head being freed & reallocated within slab and > about exposing journal head in consistent state (in particular > b_modified and b_frozen_data must be in correct state before we allow > user to touch the buffer). > > FIXME: Performance data. > > Signed-off-by: Jan Kara <jack@xxxxxxx> Applied, so we can start getting some testing on this patch. Did you ever get performance data? Thanks, - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html