On Monday 26 April 2010 04:48:13 Sven Eckelmann wrote:
First thing: it doesn't compile here :( (UML), but I am quite unsure if this is a UML problem like many other things or a bigger problem.... it seems that it is uml specific as ATOMIC64_INIT and other thingss are defined, but the implementation of specific functions are missing... but this is not the first time such thing happens with uml. Maybe someone with some time can check different openwrt builds.
For example other architecture seems to use the generic implementation of it: * arm
- parisc
- powerpc
- sh
I think Sven got a point here. It seems that for atomic64_t to work one needs a CPU which supports 64Bit operations otherwise the linux kernel will use its generic implementation. Apparently it uses an array of 16 spinlocks to provide this functionality. I wonder whether this might be a lot of overhead for our needs. Furthermore the generic implementation was added recently (as far as I can tell 2.6.30 does not have it) which raises the question of backward compatibility.
Regards, Marek