转自:http://blog.chinaunix.net/uid-21961753-id-1810628.html 今天看内核发现disable_preempt这个函数,觉得挺有意思就看了下网上资料,以下我将之整理成了两个函数来加以理解. 一.barrier函数 内存屏障出现因为编译器或现在的处理器常会自作聪明地对指令序列进行一些处理,比如数据缓存,读写指令乱序执行等等.如果优化对象是普通内存,那么一般会提升性能而且不会产生逻辑错误.但如果对 I/O操作进行类似优化很可能造成致命错误.所以要使用…