diff options
author | Tejun Heo <tj@kernel.org> | 2009-02-21 02:56:23 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2009-02-21 02:56:23 -0500 |
commit | cae3aeb83fef5a7c9c8ac40e653e59dd9a35469c (patch) | |
tree | 373e23d2e7339efed747a77ebd8aa1323c05f6e6 /mm/percpu.c | |
parent | 11124411aa95827404d6bfdfc14c908e1b54513c (diff) |
percpu: clean up size usage
Andrew was concerned about the unit of variables named or have suffix
size. Every usage in percpu allocator is in bytes but make it super
clear by adding comments.
While at it, make pcpu_depopulate_chunk() take int @off and @size like
everyone else.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm/percpu.c')
-rw-r--r-- | mm/percpu.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/mm/percpu.c b/mm/percpu.c index 4617d97e877c..997724c2ea24 100644 --- a/mm/percpu.c +++ b/mm/percpu.c | |||
@@ -119,7 +119,7 @@ static struct rb_root pcpu_addr_root = RB_ROOT; /* chunks by address */ | |||
119 | 119 | ||
120 | static int pcpu_size_to_slot(int size) | 120 | static int pcpu_size_to_slot(int size) |
121 | { | 121 | { |
122 | int highbit = fls(size); | 122 | int highbit = fls(size); /* size is in bytes */ |
123 | return max(highbit - PCPU_SLOT_BASE_SHIFT + 2, 1); | 123 | return max(highbit - PCPU_SLOT_BASE_SHIFT + 2, 1); |
124 | } | 124 | } |
125 | 125 | ||
@@ -158,8 +158,8 @@ static bool pcpu_chunk_page_occupied(struct pcpu_chunk *chunk, | |||
158 | /** | 158 | /** |
159 | * pcpu_realloc - versatile realloc | 159 | * pcpu_realloc - versatile realloc |
160 | * @p: the current pointer (can be NULL for new allocations) | 160 | * @p: the current pointer (can be NULL for new allocations) |
161 | * @size: the current size (can be 0 for new allocations) | 161 | * @size: the current size in bytes (can be 0 for new allocations) |
162 | * @new_size: the wanted new size (can be 0 for free) | 162 | * @new_size: the wanted new size in bytes (can be 0 for free) |
163 | * | 163 | * |
164 | * More robust realloc which can be used to allocate, resize or free a | 164 | * More robust realloc which can be used to allocate, resize or free a |
165 | * memory area of arbitrary size. If the needed size goes over | 165 | * memory area of arbitrary size. If the needed size goes over |
@@ -290,8 +290,8 @@ static void pcpu_chunk_addr_insert(struct pcpu_chunk *new) | |||
290 | * pcpu_split_block - split a map block | 290 | * pcpu_split_block - split a map block |
291 | * @chunk: chunk of interest | 291 | * @chunk: chunk of interest |
292 | * @i: index of map block to split | 292 | * @i: index of map block to split |
293 | * @head: head size (can be 0) | 293 | * @head: head size in bytes (can be 0) |
294 | * @tail: tail size (can be 0) | 294 | * @tail: tail size in bytes (can be 0) |
295 | * | 295 | * |
296 | * Split the @i'th map block into two or three blocks. If @head is | 296 | * Split the @i'th map block into two or three blocks. If @head is |
297 | * non-zero, @head bytes block is inserted before block @i moving it | 297 | * non-zero, @head bytes block is inserted before block @i moving it |
@@ -346,7 +346,7 @@ static int pcpu_split_block(struct pcpu_chunk *chunk, int i, int head, int tail) | |||
346 | /** | 346 | /** |
347 | * pcpu_alloc_area - allocate area from a pcpu_chunk | 347 | * pcpu_alloc_area - allocate area from a pcpu_chunk |
348 | * @chunk: chunk of interest | 348 | * @chunk: chunk of interest |
349 | * @size: wanted size | 349 | * @size: wanted size in bytes |
350 | * @align: wanted align | 350 | * @align: wanted align |
351 | * | 351 | * |
352 | * Try to allocate @size bytes area aligned at @align from @chunk. | 352 | * Try to allocate @size bytes area aligned at @align from @chunk. |
@@ -540,15 +540,15 @@ static void pcpu_unmap(struct pcpu_chunk *chunk, int page_start, int page_end, | |||
540 | * pcpu_depopulate_chunk - depopulate and unmap an area of a pcpu_chunk | 540 | * pcpu_depopulate_chunk - depopulate and unmap an area of a pcpu_chunk |
541 | * @chunk: chunk to depopulate | 541 | * @chunk: chunk to depopulate |
542 | * @off: offset to the area to depopulate | 542 | * @off: offset to the area to depopulate |
543 | * @size: size of the area to depopulate | 543 | * @size: size of the area to depopulate in bytes |
544 | * @flush: whether to flush cache and tlb or not | 544 | * @flush: whether to flush cache and tlb or not |
545 | * | 545 | * |
546 | * For each cpu, depopulate and unmap pages [@page_start,@page_end) | 546 | * For each cpu, depopulate and unmap pages [@page_start,@page_end) |
547 | * from @chunk. If @flush is true, vcache is flushed before unmapping | 547 | * from @chunk. If @flush is true, vcache is flushed before unmapping |
548 | * and tlb after. | 548 | * and tlb after. |
549 | */ | 549 | */ |
550 | static void pcpu_depopulate_chunk(struct pcpu_chunk *chunk, size_t off, | 550 | static void pcpu_depopulate_chunk(struct pcpu_chunk *chunk, int off, int size, |
551 | size_t size, bool flush) | 551 | bool flush) |
552 | { | 552 | { |
553 | int page_start = PFN_DOWN(off); | 553 | int page_start = PFN_DOWN(off); |
554 | int page_end = PFN_UP(off + size); | 554 | int page_end = PFN_UP(off + size); |
@@ -617,7 +617,7 @@ static int pcpu_map(struct pcpu_chunk *chunk, int page_start, int page_end) | |||
617 | * pcpu_populate_chunk - populate and map an area of a pcpu_chunk | 617 | * pcpu_populate_chunk - populate and map an area of a pcpu_chunk |
618 | * @chunk: chunk of interest | 618 | * @chunk: chunk of interest |
619 | * @off: offset to the area to populate | 619 | * @off: offset to the area to populate |
620 | * @size: size of the area to populate | 620 | * @size: size of the area to populate in bytes |
621 | * | 621 | * |
622 | * For each cpu, populate and map pages [@page_start,@page_end) into | 622 | * For each cpu, populate and map pages [@page_start,@page_end) into |
623 | * @chunk. The area is cleared on return. | 623 | * @chunk. The area is cleared on return. |
@@ -707,7 +707,7 @@ static struct pcpu_chunk *alloc_pcpu_chunk(void) | |||
707 | 707 | ||
708 | /** | 708 | /** |
709 | * __alloc_percpu - allocate percpu area | 709 | * __alloc_percpu - allocate percpu area |
710 | * @size: size of area to allocate | 710 | * @size: size of area to allocate in bytes |
711 | * @align: alignment of area (max PAGE_SIZE) | 711 | * @align: alignment of area (max PAGE_SIZE) |
712 | * | 712 | * |
713 | * Allocate percpu area of @size bytes aligned at @align. Might | 713 | * Allocate percpu area of @size bytes aligned at @align. Might |
@@ -819,6 +819,7 @@ EXPORT_SYMBOL_GPL(free_percpu); | |||
819 | * pcpu_setup_static - initialize kernel static percpu area | 819 | * pcpu_setup_static - initialize kernel static percpu area |
820 | * @populate_pte_fn: callback to allocate pagetable | 820 | * @populate_pte_fn: callback to allocate pagetable |
821 | * @pages: num_possible_cpus() * PFN_UP(cpu_size) pages | 821 | * @pages: num_possible_cpus() * PFN_UP(cpu_size) pages |
822 | * @cpu_size: the size of static percpu area in bytes | ||
822 | * | 823 | * |
823 | * Initialize kernel static percpu area. The caller should allocate | 824 | * Initialize kernel static percpu area. The caller should allocate |
824 | * all the necessary pages and pass them in @pages. | 825 | * all the necessary pages and pass them in @pages. |