Re: lockdep oddity

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > Found this will debugging some random memory corruptions that happen when
> > CONFIG_PROVE_LOCKING and CONFIG_PROFILE_LIKELY are both on.
> > Switching both off or having only one of them on seems to work.
> There's potential for a some issues in current -mm , given the config
> above. If you us the generic atomic operations
> (asm-generic/bitops/atomic.h) for test_and_set_bit(). It eventually
> calls into trace_hardirqs_off() and then back into likely profiling. 

Your patch has this in it too:

/* 
 * We check for constant values with __builtin_constant_p() since 
 * it's not interesting to profile them, and there is a compiler 
 * bug in gcc 3.x which blows up during constant evalution when 
 * CONFIG_PROFILE_LIKELY is turned on. 
 */ 
#define likely(x)       (__builtin_constant_p(x) ? (!!(x)) : __check_likely((x), 1)) 
#define unlikely(x)     (__builtin_constant_p(x) ? (!!(x)) : __check_likely((x), 0)) 

Could you define "blows up"? My reading of the text above is: "this code
below makes sure it does work with gcc 3.x as well".
Now I used gcc 3.4.1 and get random memory corruptions while with gcc 4.1.1
everything seems to be ok....
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux