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: Dave Young <dyoung@redhat.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
a855b84c3d
commit
67589c7145
11
mm/percpu.c
11
mm/percpu.c
@ -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.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user