# # Show how having a non-preemptive task can create a # priority inversion # rtems_init 4 task_create -p smp1 4 task_create -p smp2 5 task_create -p smp3 4 task_create -p smp4 4 dispatch # GOAL: 0x0a010001 - 0x0a010004 are heir and executing # GOAL: on CPUs 0 - 3 respectively cpus task_create smp5 3 dispatch # GOAL: 0x0a010001 - 0x0a010004 are executing on CPUs 0 - 3. # GOAL: All are also heir EXCEPT 0x0a010005 is heir on CPU 1. # GOAL: **** SHOWS INVERSION - CPU 1 has NO PREEMPT TASK **** cpus current_cpu 1 task_mode -P dispatch # GOAL: 0x0a010001, 0x0a010005, 0x0a010003, and 0x0a010004 are # GOAL: heir and executing on CPUs 0 - 3 cpus