Linux2010. 5. 29. 10:36
ATMEL AVR에서도 cli() sti()는 들은거 같았는데, Linux에서도 있었군 -ㅁ-!
아무튼 결론은, Linux Kernel 2.6 이상의 커널에서는 사용하지 않으면 하위호환성으로 인해 존재할 뿐
실질적으로는 local_irq_enable / local_irq_disable 을 사용하라고 한다.

CLear Interrupt
SeT Interrupt 입니다.
인터럽트를 Disable/Enable하는 것이고요. ;;

[링크 : http://kldp.org/node/43805]

커널 2.6 의 <include/linux/interrupt.h> 에 define 되어 있습니다.
이전 버전과의 호환성을 위해 존재하며
앞으로는 local_irq_enable/disable() 을 직접 사용하는 편이 좋습니다.

50 /*
51 * Temporary defines for UP kernels, until all code gets fixed.
52 */
53 #ifndef CONFIG_SMP
54 # define cli() local_irq_disable()
55 # define sti() local_irq_enable()
56 # define save_flags(x) local_save_flags(x)
57 # define restore_flags(x) local_irq_restore(x)
58 # define save_and_cli(x) local_irq_save(x)
59 #endif

[링크 : http://kldp.org/node/43805]

Posted by 구차니