Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 67589c71 authored by Dave Young's avatar Dave Young Committed by Tejun Heo
Browse files

percpu: explain why per_cpu_ptr_to_phys() is more complicated than necessary



Add comments about current per_cpu_ptr_to_phys implementation to
explain why the logic is more complicated than necessary.

-tj: relocated comment into kerneldoc comment

Signed-off-by: default avatarDave Young <dyoung@redhat.com>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent a855b84c
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -978,6 +978,17 @@ bool is_kernel_percpu_address(unsigned long addr)
 * address.  The caller is responsible for ensuring @addr stays valid
 * until this function finishes.
 *
 * percpu allocator has special setup for the first chunk, which currently
 * supports either embedding in linear address space or vmalloc mapping,
 * and, from the second one, the backing allocator (currently either vm or
 * km) provides translation.
 *
 * The addr can be tranlated simply without checking if it falls into the
 * first chunk. But the current code reflects better how percpu allocator
 * actually works, and the verification can discover both bugs in percpu
 * allocator itself and per_cpu_ptr_to_phys() callers. So we keep current
 * code.
 *
 * RETURNS:
 * The physical address for @addr.
 */