All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yinghai Lu <yinghai@kernel.org>
To: Pekka J Enberg <penberg@cs.helsinki.fi>
Cc: mingo@elte.hu, x86@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] x86: move init_gbpages() to setup_arch()
Date: Mon, 22 Jun 2009 08:46:52 -0700	[thread overview]
Message-ID: <4A3FA76C.3070609@kernel.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0906221731210.19474@melkki.cs.Helsinki.FI>

Pekka J Enberg wrote:
> From: Pekka Enberg <penberg@cs.helsinki.fi>
> 
> The init_gbpages() function is conditionally called from init_memory_mapping()
> function. There are two call-sites where this 'after_bootmem' condition can be
> true: setup_arch() and mem_init() via pci_iommu_alloc().
> 
> Therefore, it's safe to move the call to init_gbpages() to setup_arch() as it's
> always called before mem_init().
> 
> Cc: Yinghai Lu <yinghai@kernel.org>
> Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
> ---
>  arch/x86/kernel/setup.c |   16 ++++++++++++++++
>  arch/x86/mm/init.c      |   17 -----------------
>  2 files changed, 16 insertions(+), 17 deletions(-)
> 
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index be5ae80..de2cab1 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -289,6 +289,20 @@ void * __init extend_brk(size_t size, size_t align)
>  	return ret;
>  }
>  
> +#ifdef CONFIG_X86_64
> +static void __init init_gbpages(void)
> +{
> +	if (direct_gbpages && cpu_has_gbpages)
> +		printk(KERN_INFO "Using GB pages for direct mapping\n");
> +	else
> +		direct_gbpages = 0;
> +}
> +#else
> +static inline void init_gbpages(void)
> +{
> +}
> +#endif
> +
>  static void __init reserve_brk(void)
>  {
>  	if (_brk_end > _brk_start)
> @@ -871,6 +885,8 @@ void __init setup_arch(char **cmdline_p)
>  
>  	reserve_brk();
>  
> +	init_gbpages();
> +
>  	/* max_pfn_mapped is updated here */
>  	max_low_pfn_mapped = init_memory_mapping(0, max_low_pfn<<PAGE_SHIFT);
>  	max_pfn_mapped = max_low_pfn_mapped;
> diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
> index f53b57e..47ce9a2 100644
> --- a/arch/x86/mm/init.c
> +++ b/arch/x86/mm/init.c
> @@ -177,20 +177,6 @@ static int __meminit save_mr(struct map_range *mr, int nr_range,
>  	return nr_range;
>  }
>  
> -#ifdef CONFIG_X86_64
> -static void __init init_gbpages(void)
> -{
> -	if (direct_gbpages && cpu_has_gbpages)
> -		printk(KERN_INFO "Using GB pages for direct mapping\n");
> -	else
> -		direct_gbpages = 0;
> -}
> -#else
> -static inline void init_gbpages(void)
> -{
> -}
> -#endif
> -
>  /*
>   * Setup the direct mapping of the physical memory at PAGE_OFFSET.
>   * This runs before bootmem is initialized and gets pages directly from
> @@ -210,9 +196,6 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
>  
>  	printk(KERN_INFO "init_memory_mapping: %016lx-%016lx\n", start, end);
>  
> -	if (!after_bootmem)
> -		init_gbpages();
> -
>  #if defined(CONFIG_DEBUG_PAGEALLOC) || defined(CONFIG_KMEMCHECK)
>  	/*
>  	 * For CONFIG_DEBUG_PAGEALLOC, identity mapping will use small pages.


Acked-by: Yinghai Lu <yinghai@kernel.org>

YH

  reply	other threads:[~2009-06-22 15:47 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-22 14:39 [PATCH] x86: move init_gbpages() to setup_arch() Pekka J Enberg
2009-06-22 15:46 ` Yinghai Lu [this message]
2009-06-23  8:51 ` [tip:x86/urgent] x86: Move " tip-bot for Pekka J Enberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A3FA76C.3070609@kernel.org \
    --to=yinghai@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=penberg@cs.helsinki.fi \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.