|
@@ -35,7 +35,7 @@ const unsigned long hugetlb_zero = 0, hugetlb_infinity = ~0UL;
|
|
|
static gfp_t htlb_alloc_mask = GFP_HIGHUSER;
|
|
|
unsigned long hugepages_treat_as_movable;
|
|
|
|
|
|
-static int hugetlb_max_hstate;
|
|
|
+int hugetlb_max_hstate __read_mostly;
|
|
|
unsigned int default_hstate_idx;
|
|
|
struct hstate hstates[HUGE_MAX_HSTATE];
|
|
|
|
|
@@ -46,13 +46,10 @@ static struct hstate * __initdata parsed_hstate;
|
|
|
static unsigned long __initdata default_hstate_max_huge_pages;
|
|
|
static unsigned long __initdata default_hstate_size;
|
|
|
|
|
|
-#define for_each_hstate(h) \
|
|
|
- for ((h) = hstates; (h) < &hstates[hugetlb_max_hstate]; (h)++)
|
|
|
-
|
|
|
/*
|
|
|
* Protects updates to hugepage_freelists, nr_huge_pages, and free_huge_pages
|
|
|
*/
|
|
|
-static DEFINE_SPINLOCK(hugetlb_lock);
|
|
|
+DEFINE_SPINLOCK(hugetlb_lock);
|
|
|
|
|
|
static inline void unlock_or_release_subpool(struct hugepage_subpool *spool)
|
|
|
{
|