mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-20 15:47:03 +07:00
c1a2f7f0c0
The mm_struct always contains a cpumask bitmap, regardless of CONFIG_CPUMASK_OFFSTACK. That means the first step can be to simplify things, and simply have one bitmask at the end of the mm_struct for the mm_cpumask. This does necessitate moving everything else in mm_struct into an anonymous sub-structure, which can be randomized when struct randomization is enabled. The second step is to determine the correct size for the mm_struct slab object from the size of the mm_struct (excluding the CPU bitmap) and the size the cpumask. For init_mm we can simply allocate the maximum size this kernel is compiled for, since we only have one init_mm in the system, anyway. Pointer magic by Mike Galbraith, to evade -Wstringop-overflow getting confused by the dynamically sized array. Tested-by: Song Liu <songliubraving@fb.com> Signed-off-by: Rik van Riel <riel@surriel.com> Signed-off-by: Mike Galbraith <efault@gmx.de> Signed-off-by: Rik van Riel <riel@surriel.com> Acked-by: Dave Hansen <dave.hansen@intel.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: kernel-team@fb.com Cc: luto@kernel.org Link: http://lkml.kernel.org/r/20180716190337.26133-2-riel@surriel.com Signed-off-by: Ingo Molnar <mingo@kernel.org> |
||
---|---|---|
.. | ||
libstub | ||
test | ||
apple-properties.c | ||
arm-init.c | ||
arm-runtime.c | ||
capsule-loader.c | ||
capsule.c | ||
cper-arm.c | ||
cper-x86.c | ||
cper.c | ||
dev-path-parser.c | ||
efi-bgrt.c | ||
efi-pstore.c | ||
efi.c | ||
efibc.c | ||
efivars.c | ||
esrt.c | ||
fake_mem.c | ||
Kconfig | ||
Makefile | ||
memattr.c | ||
memmap.c | ||
reboot.c | ||
runtime-map.c | ||
runtime-wrappers.c | ||
tpm.c | ||
vars.c |