keep track of IRQ context and don't do thread migration there
This commit is contained in:
@@ -67,6 +67,7 @@ struct cpu_local_var {
|
||||
|
||||
ihk_spinlock_t migq_lock;
|
||||
struct list_head migq;
|
||||
int in_interrupt;
|
||||
} __attribute__((aligned(64)));
|
||||
|
||||
|
||||
|
||||
@@ -2293,7 +2293,7 @@ redo:
|
||||
ihk_mc_spinlock_unlock(&(v->runq_lock), irqstate);
|
||||
}
|
||||
|
||||
if (v->flags & CPU_FLAG_NEED_MIGRATE) {
|
||||
if (v->flags & CPU_FLAG_NEED_MIGRATE && !v->in_interrupt) {
|
||||
v->flags &= ~CPU_FLAG_NEED_MIGRATE;
|
||||
do_migrate();
|
||||
goto redo;
|
||||
|
||||
Reference in New Issue
Block a user