Re: [PATCH] stopmachine: add stopmachine_timeout

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Rusty Russell <rusty@...>
Cc: <linux-kernel@...>
Date: Wednesday, July 16, 2008 - 12:05 am

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