public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Nick Piggin <piggin@cyberone.com.au>
To: Tim Hockin <thockin@hockin.org>
Cc: Rusty Russell <rusty@au1.ibm.com>,
	vatsa@in.ibm.com, lhcs-devel@lists.sourceforge.net,
	linux-kernel@vger.kernel.org, torvalds@osdl.org, akpm@osdl.org,
	rml@tech9.net
Subject: Re: CPU Hotplug: Hotplug Script And SIGPWR
Date: Tue, 20 Jan 2004 17:43:59 +1100	[thread overview]
Message-ID: <400CCE2F.2060502@cyberone.com.au> (raw)
In-Reply-To: <20040120063316.GA9736@hockin.org>



Tim Hockin wrote:

>On Tue, Jan 20, 2004 at 04:44:45PM +1100, Rusty Russell wrote:
>
>>The other issue I wanted to revisit: we currently send SIGPWR to all
>>processes which we have to undo the CPU affinity for (with a new
>>si_info field containing the cpu going down).
>>
>>The main problem is that a process can call sched_setaffinity on
>>another (unrelated) task, which might not know about it.  One option
>>would be to only deliver the signal if it's not SIG_DFL for that
>>process.  Another would be not to signal, and expect hotplug scripts
>>to clean up.
>>
>
>I had to deal with this in my procstate patch (was against RH 2.4 with O(1)
>sched but not 2.6).  What I chose to do (and what the people who were
>wanting the code wanted) was to move tasks which had no CPU to run upon onto
>an unrunnable list.  Whenever a CPU's state is changed, scan the list.
>Whenevr a task's affinity mask is changed, check if it needs to go onto or
>come off of the unrunnable_list.
>
>I added a new TASK_UNRUNNABLE state for these tasks, too.  By adding the
>task's current (or most recent) CPU and the task's cpus_allowed and
>cpus_allowed_mask to /proc/pid/status, we gave simple tools for finding
>these unrunnable tasks.
>
>I think the sanest thing for a CPU removal is to migrate everything off the
>processor in question, move unrunnable tasks into TASK_UNRUNNABLE state,
>then notify /sbin/hotplug.  The hotplug script can then find and handle the
>unrunnable tasks.  No SIGPWR grossness needed.
>
>Code against 2.4 at http://www.hockin.org/~thockin/procstate - it was
>heavily tested and I *think* it is all correct (for that kernel snapshot).
>


Seems less robust and more ad hoc than SIGPWR, however.



  reply	other threads:[~2004-01-20  6:44 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20040116174446.A2820@in.ibm.com>
2004-01-20  5:44 ` CPU Hotplug: Hotplug Script And SIGPWR Rusty Russell
2004-01-20  6:33   ` Tim Hockin
2004-01-20  6:43     ` Nick Piggin [this message]
2004-01-20  6:52       ` Tim Hockin
2004-01-20  7:11         ` Nick Piggin
2004-01-20  7:30           ` Tim Hockin
2004-01-20  7:45             ` Nick Piggin
2004-01-20  7:54               ` Tim Hockin
2004-01-20  8:14                 ` Nick Piggin
2004-01-20  8:29                   ` Tim Hockin
2004-01-20  8:37                     ` Nick Piggin
2004-01-20  8:43                       ` Tim Hockin
2004-01-21  4:06                         ` Srivatsa Vaddagiri
2004-01-21  4:14                           ` Nick Piggin
2004-01-21  5:09                             ` Srivatsa Vaddagiri
2004-01-21  7:08                               ` Tim Hockin
2004-01-21 15:07                                 ` Matthias Urlichs
2004-01-22  5:29                                 ` Rusty Russell
2004-01-21  7:09                             ` Tim Hockin
2004-01-21  7:31                               ` Nick Piggin
2004-01-21  7:42                                 ` Tim Hockin
2004-01-21  8:11                             ` Rusty Russell
2004-01-21  5:07                           ` Rusty Russell
2004-01-20  8:41                   ` Stefan Smietanowski
2004-01-20  8:49                     ` Nick Piggin
2004-01-20  9:12                       ` Tim Hockin
2004-01-21  0:00                 ` Rusty Russell
2004-01-20 23:51         ` Rusty Russell
2004-01-20  7:45     ` Rusty Russell
2004-01-20  8:37       ` Tim Hockin
2004-01-20  9:29         ` Srivatsa Vaddagiri
2004-01-21  0:12         ` Rusty Russell
     [not found] <fa.f37o48p.1io5q5@ifi.uio.no>
     [not found] ` <fa.frjqvfo.170g8hq@ifi.uio.no>
2004-01-20 17:49   ` Andy Lutomirski
2004-01-21  4:33     ` Rusty Russell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=400CCE2F.2060502@cyberone.com.au \
    --to=piggin@cyberone.com.au \
    --cc=akpm@osdl.org \
    --cc=lhcs-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rml@tech9.net \
    --cc=rusty@au1.ibm.com \
    --cc=thockin@hockin.org \
    --cc=torvalds@osdl.org \
    --cc=vatsa@in.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox