Hi list, 1. A cpu can access its own per cpu data atomically but if it has to access other cpus per cpu data it might not be atomically accessed. Is this correct? If my driver makes sure that no cpu accesses other cpu's per cpu data my code can be entirely lockless? Correct?
2. Can I have a rather complex data structure like a radix tree as a per cpu data structure? 3. Is it guaranteed that all the accesses happening to this tree from a cpu which allocated it are atomic? I think they are atomic since the per cpu data access functions disable preemption. My main objective is to have a radix tree which will be accessed on multiple cores, I want to avoid the locking overhead of keeping a central lock for accessing this tree. I have just started investigating the possibilities. -pharaoh.
