On 19/10/2014 17:23, Ingo Molnar wrote:
* Daniel J Blueman <daniel@xxxxxxxxxxxxx> wrote:
Use appropriate memory block size to reduce sysfs entry creation time
by 16x.
Boot-tested with the four permutations of X86_UV and X86_NUMACHIP.
Signed-off-by: Daniel J Blueman <daniel@xxxxxxxxxxxxx>
---
arch/x86/mm/init_64.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index 5621c47..22ea6de 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -53,6 +53,7 @@
#include <asm/cacheflush.h>
#include <asm/init.h>
#include <asm/uv/uv.h>
+#include <asm/numachip/numachip.h>
#include <asm/setup.h>
#include "mm_internal.h"
@@ -1235,9 +1236,9 @@ static unsigned long probe_memory_block_size(void)
/* start from 2g */
unsigned long bz = 1UL<<31;
-#ifdef CONFIG_X86_UV
- if (is_uv_system()) {
- printk(KERN_INFO "UV: memory block size 2GB\n");
+#ifdef CONFIG_X86_64
+ if (is_uv_system() || is_numachip_system()) {
+ pr_info("Memory block size 2GB for large-SMP system\n");
return 2UL * 1024 * 1024 * 1024;
It would be a lot cleaner and more robust to have a more
intelligent decision here.
Is there a reliable indicator for large 'sysfs entry creation
time', such as a lot of RAM present?
Yes, agreed exactly.
Also, it would be nice to list the pros/cons of this change, an
advantage is reduced overhead - what are the disadvantages?
The single disadvantage is that small-memory systems won't be able to
have finer control of memory offlining, though the impact of that depend
on why the user is offlining memory of course.
If it seems reasonable for x86-64 systems with >64GB memory to have 2GB
memory block sizes, I could prepare that change instead and document the
above if preferred?
Thanks,
Daniel
--
Daniel J Blueman
Principal Software Engineer, Numascale
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html