Hi,
I it looks like the example in the Documentation/atomic_ops.txt
file at line 232 is not quite right. The obj->active = 0 will
be delayed, but not further than spin_unlock() in obj_timeout().
Becaus spin_unlock() has a memory barrier.
I guess you would need to move spin_lock(&global_list_lock) to
obj_list_del() to make the example valid.
This confused me when I read the file.
--
Best Regards,
Artem Bityutskiy (Артём Битюцкий)
--