On Wed, 22 Oct 2014, Pintu Kumar wrote:

> diff --git a/include/linux/cma.h b/include/linux/cma.h
> index 0430ed0..0b75896 100644
> --- a/include/linux/cma.h
> +++ b/include/linux/cma.h
> @@ -15,6 +15,7 @@
>  
>  struct cma;
>  
> +extern unsigned long totalcma_pages;
>  extern phys_addr_t cma_get_base(struct cma *cma);
>  extern unsigned long cma_get_size(struct cma *cma);
>  
> diff --git a/mm/cma.c b/mm/cma.c
> index 963bc4a..8435762 100644
> --- a/mm/cma.c
> +++ b/mm/cma.c
> @@ -288,6 +288,7 @@ int __init cma_declare_contiguous(phys_addr_t base,
>       if (ret)
>               goto err;
>  
> +     totalcma_pages += (size / PAGE_SIZE);
>       pr_info("Reserved %ld MiB at %08lx\n", (unsigned long)size / SZ_1M,
>               (unsigned long)base);
>       return 0;
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index dd73f9a..ababbd8 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -110,6 +110,7 @@ static DEFINE_SPINLOCK(managed_page_count_lock);
>  
>  unsigned long totalram_pages __read_mostly;
>  unsigned long totalreserve_pages __read_mostly;
> +unsigned long totalcma_pages __read_mostly;

Shouldn't this be __initdata instead?

>  /*
>   * When calculating the number of globally allowed dirty pages, there
>   * is a certain number of per-zone reserves that should not be
> @@ -5520,7 +5521,7 @@ void __init mem_init_print_info(const char *str)
>  
>       pr_info("Memory: %luK/%luK available "
>              "(%luK kernel code, %luK rwdata, %luK rodata, "
> -            "%luK init, %luK bss, %luK reserved"
> +            "%luK init, %luK bss, %luK reserved, %luK cma-reserved"
>  #ifdef       CONFIG_HIGHMEM
>              ", %luK highmem"
>  #endif
> @@ -5528,7 +5529,8 @@ void __init mem_init_print_info(const char *str)
>              nr_free_pages() << (PAGE_SHIFT-10), physpages << (PAGE_SHIFT-10),
>              codesize >> 10, datasize >> 10, rosize >> 10,
>              (init_data_size + init_code_size) >> 10, bss_size >> 10,
> -            (physpages - totalram_pages) << (PAGE_SHIFT-10),
> +            (physpages - totalram_pages - totalcma_pages) << (PAGE_SHIFT-10),
> +            totalcma_pages << (PAGE_SHIFT-10),
>  #ifdef       CONFIG_HIGHMEM
>              totalhigh_pages << (PAGE_SHIFT-10),
>  #endif
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to