Re: [ANNOUNCE] Merkey's Kernel Debugger

From: Stefan Richter
Date: Thu Aug 07 2008 - 13:04:54 EST


jmerkey@xxxxxxxxxxxxxxxxxxxxx wrote:
Also, whoever wrote "/Documentation/volatiles_are_evil" must not have
worked with the busted-ass GNU compiler that optimizes away global
variables and busts SMP dependent code. I am not going to remove the
The Linux way to handle this is to use gcc memory barriers.
mb()/barrier()/wmb()/rmb()/smp_rmb()/smp_wmb() etc.
Normally everything that volatile can do can be expressed by them.
[...]
See Documentation/memory-barriers.txt
[...]
I'll instrument this as described in the documentation you referenced and
remove the volatile declarations. If this passes testing, I will repost
with these corections.

Take care though that neither memory barriers nor volatile are what you want if accesses need to be atomic on whatever given data structure. (E.g. bitfield manipulations, counter increments, accesses to virtually anything that is bigger than an integer or a pointer...)
--
Stefan Richter
-=====-==--- =--- --===
http://arcgraph.de/sr/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/