Re: [kernel] powerpc: Make vmalloc_to_phys() public

From: Alexey Kardashevskiy
Date: Tue Jan 26 2016 - 22:19:58 EST


On 01/25/2016 09:06 PM, Paul Mackerras wrote:
On Mon, Jan 25, 2016 at 04:46:03PM +1100, Michael Ellerman wrote:
On Thu, 2016-21-01 at 07:35:08 UTC, Alexey Kardashevskiy wrote:
This makes vmalloc_to_phys() public as there will be another user
(in-kernel VFIO acceleration) for it soon.

As a part of future little optimization, this changes the helper to call
vmalloc_to_pfn() instead of vmalloc_to_page() as the size of the
struct page may not be power-of-two aligned which will make gcc use
multiply instructions instead of shifts.

You should also mention why you need to export it, presumably because whatever
new user you have in mind can be built as a module.

If I remember correctly, it's the *existing* user in hv-24x7.c that
needs the export.

No, CONFIG_HV_PERF_CTRS (which controls hv-24x7.c) is "bool" so today hv-24x7.c cannot compile as a module.

This exports the vmalloc_to_phys() symbol as a new user is going to be KVM which can compile as a module.


--
Alexey