Что преривание "осевого" таймера, что всякие set_event(), wikeup() и прочее - пусть вызывают перепланировщик. Тогда никакого другого прерывания ждать не надо. А напрямую прыгать - это же ещё и с вложенными прерываниями некрасиво может оказаться. В scmRTOS перепланировщик вызывается при выходе из любого "по-осевому" оформленного прерывания, если счётчик вложенности прерываний становится нулевым.