Re: [tip:x86/mm] x86: mm: Use 2GB memory block size on large-memory x86-64 systems

From: Yinghai Lu
Date: Wed Nov 05 2014 - 17:10:54 EST


On Tue, Nov 4, 2014 at 9:22 AM, tip-bot for Daniel J Blueman
<tipbot@xxxxxxxxx> wrote:
> Commit-ID: bdee237c0343a5d1a6cf72c7ea68e88338b26e08
> Gitweb: http://git.kernel.org/tip/bdee237c0343a5d1a6cf72c7ea68e88338b26e08
> Author: Daniel J Blueman <daniel@xxxxxxxxxxxxx>
> AuthorDate: Tue, 4 Nov 2014 16:29:44 +0800
> Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> CommitDate: Tue, 4 Nov 2014 18:19:27 +0100
>
> x86: mm: Use 2GB memory block size on large-memory x86-64 systems
>
> On large-memory x86-64 systems of 64GB or more with memory hot-plug
> enabled, use a 2GB memory block size. Eg with 64GB memory, this reduces
> the number of directories in /sys/devices/system/memory from 512 to 32,
> making it more manageable, and reducing the creation time accordingly.
>
> This caveat is that the memory can't be offlined (for hotplug or
> otherwise) with the finer default 128MB granularity, but this is
> unimportant due to the high memory densities generally used with such
> large-memory systems, where eg a single DIMM is the order of 16GB.
>
> Signed-off-by: Daniel J Blueman <daniel@xxxxxxxxxxxxx>
> Cc: Steffen Persvold <sp@xxxxxxxxxxxxx>
> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> Link: http://lkml.kernel.org/r/1415089784-28779-4-git-send-email-daniel@xxxxxxxxxxxxx
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> ---
> arch/x86/mm/init_64.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
> index 4cb8763..ebca30f 100644
> --- a/arch/x86/mm/init_64.c
> +++ b/arch/x86/mm/init_64.c
> @@ -52,7 +52,6 @@
> #include <asm/numa.h>
> #include <asm/cacheflush.h>
> #include <asm/init.h>
> -#include <asm/uv/uv.h>
> #include <asm/setup.h>
>
> #include "mm_internal.h"
> @@ -1247,12 +1246,10 @@ 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");
> + if (totalram_pages >= (64ULL << (30 - PAGE_SHIFT))) {
> + pr_info("Using 2GB memory block size for large-memory system\n");
> return 2UL * 1024 * 1024 * 1024;
> }
> -#endif
>
> /* less than 64g installed */
> if ((max_pfn << PAGE_SHIFT) < (16UL << 32))
.....

Come on. Can you remove the following dead lines caused by this patch
the same time ?

Yinghai
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/