diff options
| -rw-r--r-- | arch/x86/xen/mmu_pv.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/x86/xen/mmu_pv.c b/arch/x86/xen/mmu_pv.c index 7118f776cd49..aa701d2a5023 100644 --- a/arch/x86/xen/mmu_pv.c +++ b/arch/x86/xen/mmu_pv.c | |||
| @@ -1339,20 +1339,18 @@ static void xen_flush_tlb_others(const struct cpumask *cpus, | |||
| 1339 | { | 1339 | { |
| 1340 | struct { | 1340 | struct { |
| 1341 | struct mmuext_op op; | 1341 | struct mmuext_op op; |
| 1342 | #ifdef CONFIG_SMP | ||
| 1343 | DECLARE_BITMAP(mask, num_processors); | ||
| 1344 | #else | ||
| 1345 | DECLARE_BITMAP(mask, NR_CPUS); | 1342 | DECLARE_BITMAP(mask, NR_CPUS); |
| 1346 | #endif | ||
| 1347 | } *args; | 1343 | } *args; |
| 1348 | struct multicall_space mcs; | 1344 | struct multicall_space mcs; |
| 1345 | const size_t mc_entry_size = sizeof(args->op) + | ||
| 1346 | sizeof(args->mask[0]) * BITS_TO_LONGS(num_possible_cpus()); | ||
| 1349 | 1347 | ||
| 1350 | trace_xen_mmu_flush_tlb_others(cpus, info->mm, info->start, info->end); | 1348 | trace_xen_mmu_flush_tlb_others(cpus, info->mm, info->start, info->end); |
| 1351 | 1349 | ||
| 1352 | if (cpumask_empty(cpus)) | 1350 | if (cpumask_empty(cpus)) |
| 1353 | return; /* nothing to do */ | 1351 | return; /* nothing to do */ |
| 1354 | 1352 | ||
| 1355 | mcs = xen_mc_entry(sizeof(*args)); | 1353 | mcs = xen_mc_entry(mc_entry_size); |
| 1356 | args = mcs.args; | 1354 | args = mcs.args; |
| 1357 | args->op.arg2.vcpumask = to_cpumask(args->mask); | 1355 | args->op.arg2.vcpumask = to_cpumask(args->mask); |
| 1358 | 1356 | ||
