Skip to content
  • Nadav Amit's avatar
    resource: avoid unnecessary lookups in find_next_iomem_res() · 75639875
    Nadav Amit authored
    find_next_iomem_res() shows up to be a source for overhead in dax
    benchmarks.
    
    Improve performance by not considering children of the tree if the top
    level does not match.  Since the range of the parents should include the
    range of the children such check is redundant.
    
    Running sysbench on dax (pmem emulation, with write_cache disabled):
    
      sysbench fileio --file-total-size=3G --file-test-mode=rndwr \
       --file-io-mode=mmap --threads=4 --file-fsync-mode=fdatasync run
    
    Provides the following results:
    
    		events (avg/stddev)
    		-------------------
      5.2-rc3:	1247669.0000/16075.39
      w/patch:	1286320.5000/16402.72	(+3%)
    
    Link: http://lkml.kernel.org/r/20190613045903.4922-3-namit@vmware.com
    
    
    Signed-off-by: default avatarNadav Amit <namit@vmware.com>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    75639875