I just did some quick measurements and noticed that from the moment a task of lower priority sends a xTaskNotify() notification to the only task of higher priority, it takes 44.4us on a 32bit PIC running at 200MHz. That is 8,880 cycles… (I corrected this as I initially thought it was 4 cycles / instruction) but just found out it is not because of pipelining) this unrealistically long…
I already had configUSE_PREEMPTION set to 1 so I assume adding taskYield() in the line immediately after it would not make any difference, just to be sure, is that correct?
I also did try adding adding taskYield() immediately after but it made no difference…
In order to make it switch immediately, what do I need to do?