Skip to content
  • Yury Norov's avatar
    lib: test module for find_*_bit() functions · 4441fca0
    Yury Norov authored
    find_bit functions are widely used in the kernel, including hot paths.
    This module tests performance of those functions in 2 typical scenarios:
    randomly filled bitmap with relatively equal distribution of set and
    cleared bits, and sparse bitmap which has 1 set bit for 500 cleared
    bits.
    
    On ThunderX machine:
    
    	 Start testing find_bit() with random-filled bitmap
    	find_next_bit:          240043 cycles,  164062 iterations
    	find_next_zero_bit:     312848 cycles,  163619 iterations
    	find_last_bit:          193748 cycles,  164062 iterations
    	find_first_bit:      177720874 cycles,  164062 iterations
    
    	 Start testing find_bit() with sparse bitmap
    	find_next_bit:            3633 cycles,     656 iterations
    	find_next_zero_bit:     620399 cycles,  327025 iterations
    	find_last_bit:            3038 cycles,     656 iterations
    	find_first_bit:         691407 cycles,     656 iterations
    
    [arnd@arndb.de: use correct format string for find-bit tests]
      Link: http://lkml.kernel.org/...
    4441fca0