Spinlocks imply memory barriers as far as I am aware... Read here: http://lxr.free-electrons.com/source/Documentation/memory-barriers.txt#L1634 On 30/01/15 14:20, Matwey V. Kornilov wrote: > 2015-01-30 16:52 GMT+03:00 buyitian <buyitian@xxxxxxxxx>: >> Please check the assembly code to double confirm the GCC behavior. >> Why will GCC change the order as what you mentioned? Only assembly code can tell you. > It does not change at the moment. I think it can change it. > > Because from line > ret = hdl->count; > until line > return ret; > there is no access to either ret or hdl->count. So it is reasonable to > optimizer to think that their values are the same and eliminate > unneeded variable. > _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies