Re: entry_32.S ret_from_intr and invocation of scheduler, v3.2-rt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux