puzzling schedule() question
I want to migrate current task to another CPU without the help migration thread. Because using migration thread causes extra context switch.
In function schedule():
before pick_next_task(), I delete task from run queue by invoking deactivate_task().
After executing context_switch(), the executing stream seems stop. It is very difficult to debug.
I add printk() under the context_switch(), there is no output message. However,
I add printk() at the last line in context_switch(), there is output message.
I'm puzzled for days.
Is there anyone kind enough to give me some tips?