These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / mm / percpu.c
index 2dd7448..8a943b9 100644 (file)
@@ -1554,12 +1554,12 @@ int __init pcpu_setup_first_chunk(const struct pcpu_alloc_info *ai,
        PCPU_SETUP_BUG_ON(ai->nr_groups <= 0);
 #ifdef CONFIG_SMP
        PCPU_SETUP_BUG_ON(!ai->static_size);
-       PCPU_SETUP_BUG_ON((unsigned long)__per_cpu_start & ~PAGE_MASK);
+       PCPU_SETUP_BUG_ON(offset_in_page(__per_cpu_start));
 #endif
        PCPU_SETUP_BUG_ON(!base_addr);
-       PCPU_SETUP_BUG_ON((unsigned long)base_addr & ~PAGE_MASK);
+       PCPU_SETUP_BUG_ON(offset_in_page(base_addr));
        PCPU_SETUP_BUG_ON(ai->unit_size < size_sum);
-       PCPU_SETUP_BUG_ON(ai->unit_size & ~PAGE_MASK);
+       PCPU_SETUP_BUG_ON(offset_in_page(ai->unit_size));
        PCPU_SETUP_BUG_ON(ai->unit_size < PCPU_MIN_UNIT_SIZE);
        PCPU_SETUP_BUG_ON(ai->dyn_size < PERCPU_DYNAMIC_EARLY_SIZE);
        PCPU_SETUP_BUG_ON(pcpu_verify_alloc_info(ai) < 0);
@@ -1668,9 +1668,8 @@ int __init pcpu_setup_first_chunk(const struct pcpu_alloc_info *ai,
        schunk->map[1] = ai->static_size;
        schunk->map_used = 1;
        if (schunk->free_size)
-               schunk->map[++schunk->map_used] = 1 | (ai->static_size + schunk->free_size);
-       else
-               schunk->map[1] |= 1;
+               schunk->map[++schunk->map_used] = ai->static_size + schunk->free_size;
+       schunk->map[schunk->map_used] |= 1;
 
        /* init dynamic chunk if necessary */
        if (dyn_size) {
@@ -1807,7 +1806,7 @@ static struct pcpu_alloc_info * __init pcpu_build_alloc_info(
 
        alloc_size = roundup(min_unit_size, atom_size);
        upa = alloc_size / min_unit_size;
-       while (alloc_size % upa || ((alloc_size / upa) & ~PAGE_MASK))
+       while (alloc_size % upa || (offset_in_page(alloc_size / upa)))
                upa--;
        max_upa = upa;
 
@@ -1839,7 +1838,7 @@ static struct pcpu_alloc_info * __init pcpu_build_alloc_info(
        for (upa = max_upa; upa; upa--) {
                int allocs = 0, wasted = 0;
 
-               if (alloc_size % upa || ((alloc_size / upa) & ~PAGE_MASK))
+               if (alloc_size % upa || (offset_in_page(alloc_size / upa)))
                        continue;
 
                for (group = 0; group < nr_groups; group++) {