> So now I/we just need to figure out why the hack to callIn ia64 the first calls to smp_call_function_single() are made while bringing up other cpus ... which happens from: kernel_init() smp_init() The init calls are made a few lines later (still in kernel_init): do_basic_setup() do_initcalls() I moved the call radically earlier (before sched_init() in init/main.c:start_kernel()) just to be sure, but that was overkill. Perhaps making the call from do_pre_smp_initcalls() is the logical place? Like this (though purists will say that the extern declaration should be in some header file): Signed-off-by: Tony Luck <tony.luck@intel.com> diff --git a/init/main.c b/init/main.c index 99ce949..0c140ed 100644 --- a/init/main.c +++ b/init/main.c @@ -750,7 +750,9 @@ __setup("nosoftlockup", nosoftlockup_setup); static void __init do_pre_smp_initcalls(void) { extern int spawn_ksoftirqd(void); + extern int __cpuinit init_call_single_data(void); + init_call_single_data(); migration_init(); spawn_ksoftirqd(); if (!nosoftlockup) diff --git a/kernel/smp.c b/kernel/smp.c index ab2da5c..df1b651 100644 --- a/kernel/smp.c +++ b/kernel/smp.c @@ -40,7 +40,7 @@ struct call_single_queue { static struct call_function_data call_data_fallback; static unsigned long call_fallback_used; -static int __cpuinit init_call_single_data(void) +int __cpuinit init_call_single_data(void) { int i; @@ -53,7 +53,6 @@ static int __cpuinit init_call_single_data(void) } return 0; } -core_initcall(init_call_single_data); /* * Insert a previously allocated call_single_data element for execution --
| David Miller | [GIT]: Networking |
| Andrew Morton | Re: [BUG] New Kernel Bugs |
| Miklos Szeredi | Re: [PATCH] Remove process freezer from suspend to RAM pathway |
| Vladislav Bolkhovitin | Re: Integration of SCST in the mainstream Linux kernel |
git: | |
| David Kastrup | Re: git on MacOSX and files with decomposed utf-8 file names |
| Elijah Newren | Trying to use git-filter-branch to compress history by removing large, obsolete bi... |
| Nguyen Thai Ngoc Duy | [WIP] Get rid of msys in favor of busybox port for windows |
| sean | Adding color to git diff output. |
| Richard Stallman | Real men don't attack straw men |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| carlopmart | About Xen: maybe a reiterative question but .. |
| Douglas A. Tutty | Re: Embedding OpenBSD |
| Pavel Emelyanov | [PATCH net-2.6.25 8/11][IPV6] Use sysctl paths to register ipv6 sysctl tables |
| Jeff Garzik | Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
| Denys | r8169 crash |
| Jeff Kirsher | [NET-NEXT PATCH 1/3] e1000e: add support for the 82567LM-4 device |
