mark_buffer_dirty() speedup
PATCH 6/19 mark_buffer_dirty() speedup
mark_buffer_dirty() is showing up on Anton's graphs. Avoiding the buslocked RMW if the buffer is already dirty should fix that up.
fs/buffer.c renamed from fs/buffer.c~mark_buffer_dirty-speedup +1 -1
@@ -1218,7 +1218,7 @@ void mark_buffer_dirty(struct buffer_hea {if (!buffer_uptodate (bh))buffer_error (); -if (!test_set_buffer_dirty (bh)) +if (!buffer_dirty (bh) && !test_set_buffer_dirty (bh))__set_page_dirty_nobuffers (bh->b_page); }
-