History

smp: Cleanup smp_call_function*()

Get rid of the __call_single_node union and cleanup the API a little to avoid external code relying on the structure layout as much.

Peter Zijlstra committed 6 years ago

Commit 545b8c81 parent 7a9f50a13 files · +60 −94Browse files

Showing the changes to kernel/debug/debug_core.c (1 of 13 files). Show all

Unified · Split

kernel/debug/debug_core.c+3−3
@@ -225,8 +225,6 @@ NOKPROBE_SYMBOL(kgdb_skipexception); · 224 unmodified lines
225 * Default (weak) implementation for kgdb_roundup_cpus225 * Default (weak) implementation for kgdb_roundup_cpus
226 */226 */
227 227
228static DEFINE_PER_CPU(call_single_data_t, kgdb_roundup_csd);
229
230void __weak kgdb_call_nmi_hook(void *ignored)228void __weak kgdb_call_nmi_hook(void *ignored)
231{229{
232 /*230 /*
@@ -241,6 +239,9 @@ void __weak kgdb_call_nmi_hook(void *ignored) · 8 unmodified lines
241}239}
242NOKPROBE_SYMBOL(kgdb_call_nmi_hook);240NOKPROBE_SYMBOL(kgdb_call_nmi_hook);
243 241
242static DEFINE_PER_CPU(call_single_data_t, kgdb_roundup_csd) =
243 CSD_INIT(kgdb_call_nmi_hook, NULL);
244
244void __weak kgdb_roundup_cpus(void)245void __weak kgdb_roundup_cpus(void)
245{246{
246 call_single_data_t *csd;247 call_single_data_t *csd;
@@ -267,7 +268,6 @@ void __weak kgdb_roundup_cpus(void) · 20 unmodified lines
267 continue;268 continue;
268 kgdb_info[cpu].rounding_up = true;269 kgdb_info[cpu].rounding_up = true;
269 270
270 csd->func = kgdb_call_nmi_hook;
271 ret = smp_call_function_single_async(cpu, csd);271 ret = smp_call_function_single_async(cpu, csd);
272 if (ret)272 if (ret)
273 kgdb_info[cpu].rounding_up = false;273 kgdb_info[cpu].rounding_up = false;