public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [BUG] cpu-hotplug: Can't offline the CPU with naughty realtime processes
@ 2007-05-07 10:10 Satoru Takeuchi
  2007-05-07 10:47 ` Gautham R Shenoy
                   ` (3 more replies)
  0 siblings, 4 replies; 21+ messages in thread
From: Satoru Takeuchi @ 2007-05-07 10:10 UTC (permalink / raw)
  To: Linux Kernel
  Cc: Rusty Russell, Srivatsa Vaddagiri, Zwane Mwaikambo, Nathan Lynch,
	Joel Schopp, Ashok Raj, Heiko Carstens, Satoru Takeuchi

Hi,

I found a bug on 2.6.21 cpu-hotplug code.

When process A on CPU0 try to offline the CPU1 on which the process B,
realtime process (its task->policy == SCHED_FIFO or SCHED_RR) running
without sleep or yield, both CPU0 and CPU1 get hang. It's because of
the following code on __stop_machine_run().

struct task_struct *__stop_machine_run(int (*fn)(void *), void *data,
				       unsigned int cpu)
{
	...
	p = kthread_create(do_stop, &smdata, "kstopmachine");
	if (!IS_ERR(p)) {
		kthread_bind(p, cpu);
		wake_up_process(p);
		wait_for_completion(&smdata.done);
	}
	...
}

kstopmachine is created, bound to the CPU1, and woken up here, but
this process can't start to run because reschedule doesn't occur on
CPU1. Hence CPU0 also be able to run because it's waiting completion
of CPU1's offline work.

Thanks,

Sat

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2007-05-11  9:19 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-07 10:10 [BUG] cpu-hotplug: Can't offline the CPU with naughty realtime processes Satoru Takeuchi
2007-05-07 10:47 ` Gautham R Shenoy
2007-05-07 11:02   ` Srivatsa Vaddagiri
2007-05-07 12:39     ` Gautham R Shenoy
2007-05-07 10:55 ` Srivatsa Vaddagiri
2007-05-07 10:56 ` KAMEZAWA Hiroyuki
2007-05-07 13:42 ` Rusty Russell
2007-05-08  2:41   ` Satoru Takeuchi
2007-05-08  3:02     ` Rusty Russell
2007-05-08  3:29       ` Satoru Takeuchi
2007-05-08  4:04         ` Rusty Russell
2007-05-08  4:10         ` Srivatsa Vaddagiri
2007-05-08  7:16           ` Satoru Takeuchi
2007-05-08 16:48             ` Srivatsa Vaddagiri
2007-05-09  0:40               ` Satoru Takeuchi
2007-05-09  0:47                 ` Nick Piggin
2007-05-09  6:31                   ` Satoru Takeuchi
2007-05-09  8:56                   ` Gautham R Shenoy
2007-05-11  8:49       ` [PATCH 1/2] Fix stop_machine_run problem with naughty real time process Satoru Takeuchi
2007-05-11  9:18         ` Satoru Takeuchi
2007-05-11  8:49       ` [PATCH 2/2] cpu hotplug: fix ksoftirqd termination on cpu hotplug with naughty realtime process Satoru Takeuchi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox