Re: [PATCH] stopmachine: add stopmachine_timeout

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Hidetoshi Seto
Date: Tuesday, July 15, 2008 - 9:05 pm

Hi Rusty,

Rusty Russell wrote:

After having a relaxing day, once I said:
 "I like your idea that if we did not want to do something on the stuck CPU
  then treat the CPU as stopped."
but now I noticed that the stuck CPU can harm what we want to do if it is
not real stuck... ex. busy loop in a subsystem, and we want to touch the
core of the subsystem exclusively.
So "force progress" is not safe, on some rare case.  I'd like to make this
timeout feature as a safe-net, therefore we should return error without
taking a risk even it would be small, I think.


I suppose my current implementation, returning control to user immediately,
is better than looping in main thread.  In my implementation, num_threads is
initialized to num_online_cpus() by main thread, and decremented 1 by 1
each child thread.  If time out happen, main thread will return without
waiting completion but set state STOPMACHINE_EXIT.  Then child threads are now
detached from usual procedure, so they exit soon without do any work.

At the beginning of new stop_machine, we can check the num_threads to know
whether there are remaining child threads.  If there are, something is wrong
since the system cannot run MAX_PRIO RT thread, not binded to typical cpu now.
So we can return error in such case, assuming that the new stop_machine will
fail in same way.

Anyway, I also think we can better thing here, but we don't need to do all
at once.  Making steps by incremental patches would be nice, I think.

Thanks,
H.Seto
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] stopmachine: add stopmachine_timeout, Hidetoshi Seto, (Mon Jul 14, 12:52 am)
Re: [PATCH] stopmachine: add stopmachine_timeout, Hidetoshi Seto, (Mon Jul 14, 1:19 am)
Re: [PATCH] stopmachine: add stopmachine_timeout, Rusty Russell, (Mon Jul 14, 3:43 am)
Re: [PATCH] stopmachine: add stopmachine_timeout, Christian Borntraeger, (Mon Jul 14, 4:51 am)
Re: [PATCH] stopmachine: add stopmachine_timeout, Rusty Russell, (Mon Jul 14, 5:34 am)
Re: [PATCH] stopmachine: add stopmachine_timeout, Jeremy Fitzhardinge, (Mon Jul 14, 11:56 am)
Re: [PATCH] stopmachine: add stopmachine_timeout, Heiko Carstens, (Mon Jul 14, 2:20 pm)
Re: [PATCH] stopmachine: add stopmachine_timeout, Hidetoshi Seto, (Mon Jul 14, 6:11 pm)
Re: [PATCH] stopmachine: add stopmachine_timeout, Rusty Russell, (Mon Jul 14, 6:14 pm)
Re: [PATCH] stopmachine: add stopmachine_timeout, Hidetoshi Seto, (Mon Jul 14, 7:24 pm)
Re: [PATCH] stopmachine: add stopmachine_timeout, Max Krasnyansky, (Mon Jul 14, 7:24 pm)
Re: [PATCH] stopmachine: add stopmachine_timeout, Max Krasnyansky, (Mon Jul 14, 7:37 pm)
Re: [PATCH] stopmachine: add stopmachine_timeout, Heiko Carstens, (Mon Jul 14, 11:09 pm)
Re: [PATCH] stopmachine: add stopmachine_timeout, Rusty Russell, (Tue Jul 15, 12:50 am)
Re: [PATCH] stopmachine: add stopmachine_timeout, Rusty Russell, (Tue Jul 15, 1:09 am)
Re: [PATCH] stopmachine: add stopmachine_timeout, Heiko Carstens, (Tue Jul 15, 1:39 am)
Re: [PATCH] stopmachine: add stopmachine_timeout, Max Krasnyansky, (Tue Jul 15, 1:51 am)
Re: [PATCH] stopmachine: add stopmachine_timeout, Hidetoshi Seto, (Tue Jul 15, 9:05 pm)
[PATCH] stopmachine: add stopmachine_timeout v2, Hidetoshi Seto, (Tue Jul 15, 9:27 pm)
Re: [PATCH] stopmachine: add stopmachine_timeout v2, Max Krasnyansky, (Tue Jul 15, 11:23 pm)
Re: [PATCH] stopmachine: add stopmachine_timeout v2, Hidetoshi Seto, (Tue Jul 15, 11:35 pm)
[PATCH] stopmachine: add stopmachine_timeout v3, Hidetoshi Seto, (Tue Jul 15, 11:51 pm)
Re: [PATCH] stopmachine: add stopmachine_timeout v3, Peter Zijlstra, (Wed Jul 16, 12:33 am)
Re: [PATCH] stopmachine: add stopmachine_timeout v3, Hidetoshi Seto, (Wed Jul 16, 1:12 am)
Re: [PATCH] stopmachine: add stopmachine_timeout, Christian Borntraeger, (Wed Jul 16, 2:15 am)
Re: [PATCH] stopmachine: add stopmachine_timeout v2, Jeremy Fitzhardinge, (Wed Jul 16, 3:11 am)
Re: [PATCH] stopmachine: add stopmachine_timeout v2, Hidetoshi Seto, (Wed Jul 16, 8:40 pm)
Re: [PATCH] stopmachine: add stopmachine_timeout v2, Jeremy Fitzhardinge, (Wed Jul 16, 10:37 pm)
[PATCH] stopmachine: add stopmachine_timeout v4, Hidetoshi Seto, (Wed Jul 16, 11:12 pm)
Re: [PATCH] stopmachine: add stopmachine_timeout v4, Max Krasnyansky, (Thu Jul 17, 12:09 am)
Re: [PATCH] stopmachine: add stopmachine_timeout v2, Rusty Russell, (Thu Jul 17, 9:18 pm)
Re: [PATCH] stopmachine: add stopmachine_timeout, Rusty Russell, (Sun Jul 20, 2:45 am)
[PATCH] stopmachine: allow force progress on timeout, Hidetoshi Seto, (Mon Jul 21, 8:28 pm)