dect
/
linux-2.6
Archived
13
0
Fork 0
This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
linux-2.6/include/asm-generic/bitops
Nick Piggin beed33a816 [PATCH] sched: likely profiling
This likely profiling is pretty fun. I found a few possible problems
in sched.c.

This patch may be not measurable, but when I did measure long ago,
nooping (un)likely cost a couple of % on scheduler heavy benchmarks, so
it all adds up.

Tweak some branch hints:

- the 2nd 64 bits in the bitmask is likely to be populated, because it
  contains the first 28 bits (nearly 3/4) of the normal priorities.
  (ratio of 669669:691 ~= 1000:1).

- it isn't unlikely that context switching switches to another process. it
  might be very rapidly switching to and from the idle process (ratio of
  475815:419004 and 471330:423544). Let the branch predictor decide.

- preempt_enable seems to be very often called in a nested preempt_disable
  or with interrupts disabled (ratio of 3567760:87965 ~= 40:1)

Signed-off-by: Nick Piggin <npiggin@suse.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Daniel Walker <dwalker@mvista.com>
Cc: Hua Zhong <hzhong@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-11 11:14:22 -07:00
..
__ffs.h [PATCH] bitops: generic __ffs() 2006-03-26 08:57:10 -08:00
atomic.h [PATCH] bitops: generic {,test_and_}{set,clear,change}_bit() 2006-03-26 08:57:10 -08:00
ext2-atomic.h [PATCH] bitops: generic ext2_{set,clear}_bit_atomic() 2006-03-26 08:57:11 -08:00
ext2-non-atomic.h [PATCH] bitops: generic ext2_{set,clear,test,find_first_zero,find_next_zero}_bit() 2006-03-26 08:57:11 -08:00
ffs.h [PATCH] bitops: generic ffs() 2006-03-26 08:57:11 -08:00
ffz.h [PATCH] bitops: generic ffz() 2006-03-26 08:57:10 -08:00
find.h [PATCH] bitops: generic find_{next,first}{,_zero}_bit() 2006-03-26 08:57:11 -08:00
fls.h [PATCH] bitops: generic fls() 2006-03-26 08:57:10 -08:00
fls64.h [PATCH] fix error: __u32 undeclared 2006-03-26 08:57:11 -08:00
hweight.h [PATCH] fix error: __u32 undeclared 2006-03-26 08:57:11 -08:00
le.h [PATCH] bitops: generic ext2_{set,clear,test,find_first_zero,find_next_zero}_bit() 2006-03-26 08:57:11 -08:00
minix-le.h [PATCH] bitops: generic minix_{test,set,test_and_clear,test,find_first_zero}_bit() 2006-03-26 08:57:11 -08:00
minix.h [PATCH] bitops: generic minix_{test,set,test_and_clear,test,find_first_zero}_bit() 2006-03-26 08:57:11 -08:00
non-atomic.h [PATCH] bitops: generic __{,test_and_}{set,clear,change}_bit() and test_bit() 2006-03-26 08:57:10 -08:00
sched.h [PATCH] sched: likely profiling 2006-10-11 11:14:22 -07:00