lkml.org 
[lkml]   [2014]   [Feb]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 4/4] hugetlb: hugepagesnid=: add 1G huge page support
On Mon, 10 Feb 2014 12:27:48 -0500 Luiz Capitulino <lcapitulino@redhat.com> wrote:

>
> ...
>
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -2051,6 +2051,29 @@ void __init hugetlb_add_hstate(unsigned order)
> parsed_hstate = h;
> }
>
> +static void __init hugetlb_hstate_alloc_pages_nid(struct hstate *h,
> + int nid,
> + unsigned long nr_pages)
> +{
> + struct huge_bootmem_page *m;
> + unsigned long i;
> + void *addr;
> +
> + for (i = 0; i < nr_pages; i++) {
> + addr = memblock_virt_alloc_nid_nopanic(
> + huge_page_size(h), huge_page_size(h),
> + 0, BOOTMEM_ALLOC_ACCESSIBLE, nid);
> + if (!addr)
> + break;
> + m = addr;
> + BUG_ON((unsigned long)virt_to_phys(m) & (huge_page_size(h) - 1));

IS_ALIGNED()?

> + list_add(&m->list, &huge_boot_pages);
> + m->hstate = h;
> + }
> +
> + h->max_huge_pages += i;
> +}
> +
> void __init hugetlb_add_nrpages_nid(unsigned order, unsigned long nid,
> unsigned long nr_pages)
> {

Please cc Yinghai Lu <yinghai@kernel.org> on these patches - he
understands memblock well and is a strong reviewer.



\
 
 \ /
  Last update: 2014-02-11 01:21    [W:0.193 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site