Messages in this thread | | | Date | Fri, 11 Jan 2008 14:57:47 -0800 | From | "Vineet Gupta" <> | Subject | Usage semantics of atomic_set ( ) |
| |
I'm trying to implement atomic ops for a CPU which has no inherent support for Read-Modify-Write Ops. Instead of using a global spin lock which protects all the atomic APIs, I want to use a spin lock per instance of atomic_t. This works well when atomic_t is unitary and statically initialized using ATOMIC_INIT (where I can reset the spinlock_t as well). However if atomic_t var is embedded within a bigger struct which is allocated dynamically how to I init the embedded spin lock. atomic_set ( ) is the closest choice, however I don't think it's current usage in kernel code qualifies it to be "initializer only".
Doesn't that defeat the intended usage of atomic_t as a opaque type which can be "effectively" used to hide other architecture specific stuff.
Thanks, Vineet
| |