On Fri, 15 Mar 2013, notgeorge burns wrote: > Does the hardirq handler need to do something to make the TI_flags > work properly against _TIF_WORK_MASK ? _TIF_WORK_MASK doesn't > include TIF_NEED_RESCHED so it seems that this wouldn't be the right > way to do it? To be honest I was puzzled for a second by that mysel after reading your mail, but you got tricked by really obfuscated macro magic: andl $_TIF_WORK_MASK, %ecx # is there any work to be done on # int/exception return? jne work_pending So we jump to work_pending, if any bit of _TIF_WORK_MASK is set in ecx #define _TIF_WORK_MASK \ (0x0000FFFF & \ ~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT| \ _TIF_SINGLESTEP|_TIF_SECCOMP|_TIF_SYSCALL_EMU)) So we keep everything in 0xffff _except_ _TIF_SYSCALL_TRACE, _TIF_SYSCALL_AUDIT, _TIF_SINGLESTEP, _TIF_SECCOMP, _TIF_SYSCALL_EMU Note the "~" before (_TIF ...... EMU) ! So _TIF_NEED_RESCHED is preserved and checked and handled in work_pending. You made me worried for a second, but that code has been that way for almost a decade, so RT would have stumbled over it at some point :) Thanks, tglx -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html