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.
Showing the changes to kernel/debug/debug_core.c (1 of 13 files). Show all
Unified · Split
| @@ -225,8 +225,6 @@ NOKPROBE_SYMBOL(kgdb_skipexception); · 224 unmodified lines | ||
| 225 | 225 | * Default (weak) implementation for kgdb_roundup_cpus |
| 226 | 226 | */ |
| 227 | 227 | |
| 228 | −static DEFINE_PER_CPU(call_single_data_t, kgdb_roundup_csd); | |
| 229 | − | |
| 230 | 228 | void __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 | } |
| 242 | 240 | NOKPROBE_SYMBOL(kgdb_call_nmi_hook); |
| 243 | 241 | |
| 242 | +static DEFINE_PER_CPU(call_single_data_t, kgdb_roundup_csd) = | |
| 243 | + CSD_INIT(kgdb_call_nmi_hook, NULL); | |
| 244 | + | |
| 244 | 245 | void __weak kgdb_roundup_cpus(void) |
| 245 | 246 | { |
| 246 | 247 | call_single_data_t *csd; |
| @@ -267,7 +268,6 @@ void __weak kgdb_roundup_cpus(void) · 20 unmodified lines | ||
| 267 | 268 | continue; |
| 268 | 269 | kgdb_info[cpu].rounding_up = true; |
| 269 | 270 | |
| 270 | − csd->func = kgdb_call_nmi_hook; | |
| 271 | 271 | ret = smp_call_function_single_async(cpu, csd); |
| 272 | 272 | if (ret) |
| 273 | 273 | kgdb_info[cpu].rounding_up = false; |