• K
    buffer: Avoid setting buffer bits that are already set · 60f91826
    Kemi Wang 提交于
    It's expensive to set buffer flags that are already set, because that
    causes a costly cache line transition.
    
    A common case is setting the "verified" flag during ext4 writes.
    This patch checks for the flag being set first.
    
    With the AIM7/creat-clo benchmark testing on a 48G ramdisk based-on ext4
    file system, we see 3.3%(15431->15936) improvement of aim7.jobs-per-min on
    a 2-sockets broadwell platform.
    
    What the benchmark does is: it forks 3000 processes, and each  process do
    the following:
    a) open a new file
    b) close the file
    c) delete the file
    until loop=100*1000 times.
    
    The original patch is contributed by Andi Kleen.
    Signed-off-by: NAndi Kleen <ak@linux.intel.com>
    Tested-by: NKemi Wang <kemi.wang@intel.com>
    Signed-off-by: NKemi Wang <kemi.wang@intel.com>
    Signed-off-by: NJens Axboe <axboe@kernel.dk>
    60f91826
buffer_head.h 13.4 KB