All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.