Have a look a the kernel API documentation
You will find some API functions called: atomic_read(), atomic_set(), atomic_add() and so forth. You may find that these functions will cover your "code snippet" and do the job.
As a developer's note, I usually have the source code of the kernel all indexed through some IDE (in my case cscope, I guess I'm showing my age.) available to me so that I can check out the code of the API that I'm using. It comes in handy for questions like what you have asked. When I looked at "preempt_disable()" I got the following:
#define preempt_disable() \
do { \
inc_preempt_count(); \
barrier(); \
} while (0)
When I searched for "local_irq_disable()", they did not seem to be related at all.
Hope this helps.
Cheers!!