Loading kernel/smpboot.c +3 −2 Original line number Diff line number Diff line Loading @@ -106,6 +106,7 @@ static int smpboot_thread_fn(void *data) { struct smpboot_thread_data *td = data; struct smp_hotplug_thread *ht = td->ht; unsigned long flags; while (1) { set_current_state(TASK_INTERRUPTIBLE); Loading Loading @@ -157,9 +158,9 @@ static int smpboot_thread_fn(void *data) * p->state = TASK_RUNNING; * schedule(); */ raw_spin_lock(¤t->pi_lock); raw_spin_lock_irqsave(¤t->pi_lock, flags); __set_current_state(TASK_RUNNING); raw_spin_unlock(¤t->pi_lock); raw_spin_unlock_irqrestore(¤t->pi_lock, flags); preempt_enable(); if (ht->park && td->status == HP_THREAD_ACTIVE) { BUG_ON(td->cpu != smp_processor_id()); Loading Loading
kernel/smpboot.c +3 −2 Original line number Diff line number Diff line Loading @@ -106,6 +106,7 @@ static int smpboot_thread_fn(void *data) { struct smpboot_thread_data *td = data; struct smp_hotplug_thread *ht = td->ht; unsigned long flags; while (1) { set_current_state(TASK_INTERRUPTIBLE); Loading Loading @@ -157,9 +158,9 @@ static int smpboot_thread_fn(void *data) * p->state = TASK_RUNNING; * schedule(); */ raw_spin_lock(¤t->pi_lock); raw_spin_lock_irqsave(¤t->pi_lock, flags); __set_current_state(TASK_RUNNING); raw_spin_unlock(¤t->pi_lock); raw_spin_unlock_irqrestore(¤t->pi_lock, flags); preempt_enable(); if (ht->park && td->status == HP_THREAD_ACTIVE) { BUG_ON(td->cpu != smp_processor_id()); Loading