• Theodore Ts'o's avatar
    ext4: pass context information to jbd2__journal_start() · 9924a92a
    Theodore Ts'o authored
    So we can better understand what bits of ext4 are responsible for
    long-running jbd2 handles, use jbd2__journal_start() so we can pass
    context information for logging purposes.
    The recommended way for finding the longer-running handles is:
       echo "interval > 5" > $EVENT/filter
       echo 1 > $EVENT/enable
       cat $T/trace > /tmp/problem-handles
    This will list handles that were active for longer than 20ms.  Having
    longer-running handles is bad, because a commit started at the wrong
    time could stall for those 20+ milliseconds, which could delay an
    fsync() or an O_SYNC operation.  Here is an example line from the
    trace file describing a handle which lived on for 311 jiffies, or over
    1.2 seconds:
    postmark-2917  [000] ....   196.435786: jbd2_handle_stats: dev 254,32 
       tid 570 type 2 line_no 2541 interval 311 sync 0 requested_blocks 1
       dirtied_blocks 0
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>