Home
Developer Resources
QNX RTOS v4
QNX RTOS v4 Knowledge Base

QNX RTOS v4 Knowledge Base

Foundry27
Foundry27
QNX RTOS v4 project
Resources

QNX RTOS v4 Knowledge Base

Title What does the IRQ of -1 mean when using the sin utility?
Ref. No. QNX.000009574
Category(ies) Kernel
Issue When we run the "sin ir" we see a bunch of processes attached to irq -1.  What does this mean?

eg.
IRQ  PID  PROGRAM                    CS:IP      DS
-1    4  /bin/Net                0015:004540 001D
-1    24  //107/bin/Dev32          0005:005760 000D
-1    30  //107/bin/Dev32.ansi    0005:005DC0 000D
-1    38  //107/bin/Dev32.ser      0005:0024FC 000D
  0    1  sys/Proc32              00F0:004CB3 00F8
  0    4  /bin/Net                0015:0045EB 001D
  1    30  //107/bin/Dev32.ansi    0005:00690C 000D
  3    38  //107/bin/Dev32.ser      0005:00177C 000D
  4    38  //107/bin/Dev32.ser      0005:0017A4 000D
11    4  /bin/Net                0015:0049E8 001D
12 21710  //107/bin/Input          0005:01436F 000D
13    1  sys/Proc32              00F0:004C77 00F8
14    65  //107/bin/Fsys.eide      0005:004860 000D
Solution -1 is the synthetic IRQ which is generated based on the timer irq 0.  It will "fire" every 50ms and the kernel will call any handlers that are attached to this interrupt number.

eg.
If your timer interrupt is set for 10msec, then every 5th timer interrupt, the handlers for -1 are called.  In general, we discourage its use in favor of timer_create/timer_settime types of timers as it isn't a good idea if you are doing power management.  If you are using -1 then the kernel needs to wake up the cpu every 50msecs and if a process doesn't need it they tend to leave it registered anyway.  With a 50msec timer_create/timer_settime type of timer people at least tend to cancel the timer when not in use.