From: Rusty Russell <rusty@rustcorp.com.au>
To: Ingo Molnar <mingo@elte.hu>
Cc: Srivatsa Vaddagiri <vatsa@in.ibm.com>
Cc: akpm@osdl.org, linux-kernel@vger.kernel.org,
Nick Piggin <piggin@cyberone.com.au>,
dipankar@in.ibm.com
Subject: New v. v. experimental HOTPLUG CPU megapatch.
Date: Tue, 03 Feb 2004 18:39:17 +1100 [thread overview]
Message-ID: <20040203074322.27A892C13E@lists.samba.org> (raw)
In-Reply-To: Your message of "Mon, 02 Feb 2004 16:40:40 BST." <20040202154040.GA5895@elte.hu>
[-- Attachment #1: Type: text/plain, Size: 1470 bytes --]
This is my first cut of a patch, still has some old code in it. As an
attachment since it's 70k (I'll split into multiple parts later, this
is the x86 part, too).
Patch against 2.6.2-rc2-mm2. Works basically, gives "APIC error on
CPU1: 08(08)" under stress. Clues welcome.
Basically consists of:
1) New file stop_machine.[ch] which takes logic out of module.c (I
haven't converted module.c code over yet though).
2) x86: arch_cpu_down_check (called before offlining) and arch_cpu_down
(called when machine stopped, moves irqs).
3) x86: idle loop code to play dead.
4) migrate_all_tasks() called with machine stopped, and migrates
kernel threads as well.
5) cpu.c fires off a thread to do the dirty work: it schedules with
interrupts still disabled on dead cpu.
6) Most threads are happy to run on "wrong" CPUs, but slab.c reap
timer needs a little fixing, and still needs to stop when CPU goes
offline. softirq threads are tied to CPU: I just hacked in a check
so the do nothing if CPU is offline. Moving the migration thread
is safe since it should have nothing to do.
7) Ugly change to finish_arch_switch so it doesn't re-enable
interrupts if the CPU is down (switching from take_cpu_down kthread
to idle task). __migrate_task() still needs check for cpu down,
AFAICT.
Given it was about a day's work, I'm happy it works at all...
Cheers,
Rusty.
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
[-- Attachment #2: hotcpu-atomic-test.patch.bz2 --]
[-- Type: application/octet-stream, Size: 17121 bytes --]
next prev parent reply other threads:[~2004-02-03 7:43 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-31 14:16 [PATCH 3/4] 2.6.2-rc2-mm2 CPU Hotplug: The Core Rusty Russell
2004-02-01 8:03 ` Andrew Morton
2004-02-01 10:19 ` Nick Piggin
2004-02-01 12:07 ` Rusty Russell
2004-02-02 9:12 ` Ingo Molnar
2004-02-02 10:55 ` Rusty Russell
2004-02-02 12:45 ` Ingo Molnar
2004-02-02 13:22 ` Srivatsa Vaddagiri
2004-02-02 15:40 ` Ingo Molnar
2004-02-03 0:45 ` Rusty Russell
2004-02-03 8:04 ` Ingo Molnar
2004-02-03 8:16 ` Rusty Russell
2004-02-03 8:31 ` Ingo Molnar
2004-02-03 7:39 ` Rusty Russell [this message]
2004-02-03 9:35 ` New v. v. experimental HOTPLUG CPU megapatch Ingo Molnar
2004-02-05 18:12 ` Pavel Machek
2004-02-03 0:34 ` [PATCH 3/4] 2.6.2-rc2-mm2 CPU Hotplug: The Core Rusty Russell
2004-02-03 9:26 ` Ingo Molnar
2004-02-04 0:19 ` 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=20040203074322.27A892C13E@lists.samba.org \
--to=rusty@rustcorp.com.au \
--cc=mingo@elte.hu \
--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.