[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20150318142558.d2958fbb7f8b083c00c40c0d@linux-foundation.org>
Date: Wed, 18 Mar 2015 14:25:58 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Mike Kravetz <mike.kravetz@...cle.com>
Cc: linux-mm@...ck.org, linux-kernel@...r.kernel.org,
Davidlohr Bueso <dave@...olabs.net>,
Aneesh Kumar <aneesh.kumar@...ux.vnet.ibm.com>,
Joonsoo Kim <iamjoonsoo.kim@....com>
Subject: Re: [PATCH V2 1/4] hugetlbfs: add minimum size tracking fields to
subpool structure
On Mon, 16 Mar 2015 16:53:26 -0700 Mike Kravetz <mike.kravetz@...cle.com> wrote:
> Add a field to the subpool structure to indicate the minimimum
> number of huge pages to always be used by this subpool. This
> minimum count includes allocated pages as well as reserved pages.
> If the minimum number of pages for the subpool have not been
> allocated, pages are reserved up to this minimum. An additional
> field (rsv_hpages) is used to track the number of pages reserved
> to meet this minimum size. The hstate pointer in the subpool
> is convenient to have when reserving and unreserving the pages.
>
> ...
>
> --- a/include/linux/hugetlb.h
> +++ b/include/linux/hugetlb.h
> @@ -23,6 +23,8 @@ struct hugepage_subpool {
> spinlock_t lock;
> long count;
> long max_hpages, used_hpages;
> + struct hstate *hstate;
> + long min_hpages, rsv_hpages;
> };
Let's leave room for the descriptive comments which aren't there.
--- a/include/linux/hugetlb.h~hugetlbfs-add-minimum-size-tracking-fields-to-subpool-structure-fix
+++ a/include/linux/hugetlb.h
@@ -22,9 +22,11 @@ struct mmu_gather;
struct hugepage_subpool {
spinlock_t lock;
long count;
- long max_hpages, used_hpages;
+ long max_hpagesl
+ long used_hpages;
struct hstate *hstate;
- long min_hpages, rsv_hpages;
+ long min_hpages;
+ long rsv_hpages;
};
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -85,6 +85,9 @@ struct hugepage_subpool *hugepage_new_subpool(long nr_blocks)
> spool->count = 1;
> spool->max_hpages = nr_blocks;
> spool->used_hpages = 0;
> + spool->hstate = NULL;
> + spool->min_hpages = 0;
> + spool->rsv_hpages = 0;
Four strikes and you're out!
--- a/mm/hugetlb.c~hugetlbfs-add-minimum-size-tracking-fields-to-subpool-structure-fix
+++ a/mm/hugetlb.c
@@ -77,17 +77,13 @@ struct hugepage_subpool *hugepage_new_su
{
struct hugepage_subpool *spool;
- spool = kmalloc(sizeof(*spool), GFP_KERNEL);
+ spool = kzalloc(sizeof(*spool), GFP_KERNEL);
if (!spool)
return NULL;
spin_lock_init(&spool->lock);
spool->count = 1;
spool->max_hpages = nr_blocks;
- spool->used_hpages = 0;
- spool->hstate = NULL;
- spool->min_hpages = 0;
- spool->rsv_hpages = 0;
return spool;
}
_
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists