]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - mm/percpu-km.c
mm, hugetlb: unclutter hugetlb allocation layers
[mirror_ubuntu-artful-kernel.git] / mm / percpu-km.c
index d66911ff42d9618dd73107548e4f99b06d2f98ef..eb58aa4c0997540fb3eb912ee6449d2daf7d3ab2 100644 (file)
@@ -72,6 +72,9 @@ static struct pcpu_chunk *pcpu_create_chunk(void)
        pcpu_chunk_populated(chunk, 0, nr_pages);
        spin_unlock_irq(&pcpu_lock);
 
+       pcpu_stats_chunk_alloc();
+       trace_percpu_create_chunk(chunk->base_addr);
+
        return chunk;
 }
 
@@ -79,7 +82,13 @@ static void pcpu_destroy_chunk(struct pcpu_chunk *chunk)
 {
        const int nr_pages = pcpu_group_sizes[0] >> PAGE_SHIFT;
 
-       if (chunk && chunk->data)
+       if (!chunk)
+               return;
+
+       pcpu_stats_chunk_dealloc();
+       trace_percpu_destroy_chunk(chunk->base_addr);
+
+       if (chunk->data)
                __free_pages(chunk->data, order_base_2(nr_pages));
        pcpu_free_chunk(chunk);
 }