• Namjae Jeon's avatar
    udf: add extent cache support in case of file reading · 99600051
    Namjae Jeon authored
    This patch implements extent caching in case of file reading.
    While reading a file, currently, UDF reads metadata serially
    which takes a lot of time depending on the number of extents present
    in the file. Caching last accessd extent improves metadata read time.
    Instead of reading file metadata from start, now we read from
    the cached extent.
    
    This patch considerably improves the time spent by CPU in kernel mode.
    For example, while reading a 10.9 GB file using dd:
    Time before applying patch:
    11677022208 bytes (10.9GB) copied, 1529.748921 seconds, 7.3MB/s
    real    25m 29.85s
    user    0m 12.41s
    sys     15m 34.75s
    
    Time after applying patch:
    11677022208 bytes (10.9GB) copied, 1469.338231 seconds, 7.6MB/s
    real    24m 29.44s
    user    0m 15.73s
    sys     3m 27.61s
    
    [JK: Fix bh refcounting issues, simplify initialization]
    Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: default avatarAshish Sangwan <a.sangwan@samsung.com>
    Signed-off-by: default avatarBonggil Bak <bgbak@samsung.com>
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    99600051
udf_i.h 1.67 KB