• Theodore Ts'o's avatar
    ext4: optimize ext4_bio_write_page() when no extent conversion is needed · b6168443
    Theodore Ts'o authored
    If no extent conversion is required, wake up any processes waiting for
    the page's writeback to be complete and free the ext4_io_end structure
    directly in ext4_end_bio() instead of dropping it on the linked list
    (which requires taking a spinlock to queue and dequeue the io_end
    structure), and waiting for the workqueue to do this work.
    
    This removes an extra scheduling delay before process waiting for an
    fsync() to complete gets woken up, and it also reduces the CPU
    overhead for a random write workload.
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    b6168443
page-io.c 10.8 KB