Re: [PATCH] stopmachine: add stopmachine_timeout v4

Max Krasnyansky
2008-07-17T07:10:11Z

Hidetoshi Seto wrote:
> If stop_machine() invoked while one of onlined cpu is locked up
> by some reason, stop_machine cannot finish its work because the
> locked cpu cannot stop. This means all other healthy cpus
> will be blocked infinitely by one dead cpu.
>
> This patch allows stop_machine to return -EBUSY with some printk
> messages if any of stop_machine's threads cannot start running on
> its target cpu in time. You can enable this timeout via sysctl.
>
> v4:
> - move extern into linux/stop_machine.h and add include of the
> header to kernel/sysctl.c. Now stopmachine_timeout is available
> only on smp.
>
> v3:
> - set stopmachine_timeout default to 0 (= never timeout)
>
> v2:
> - remove fix for warning since it will be fixed upcoming typesafe
> patches
> - make stopmachine_timeout from secs to msecs
> - allow disabling timeout by setting the stopmachine_timeout to 0
>
> Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
> ---
> include/linux/stop_machine.h | 3 ++
> kernel/stop_machine.c | 54 +++++++++++++++++++++++++++++++++++++++--
> kernel/sysctl.c | 12 +++++++++
> 3 files changed, 66 insertions(+), 3 deletions(-)

Looks good to me.
Ack.

Max