On Sun, Feb 24, 2019 at 01:13:50PM +0000, Peng Fan wrote: > percpu-km is used on UP systems which only has one group, > so the group offset will be always 0, there is no need > to subtract pcpu_group_offsets[0] when assigning chunk->base_addr > > Signed-off-by: Peng Fan <peng.fan@xxxxxxx> > --- > mm/percpu-km.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/percpu-km.c b/mm/percpu-km.c > index 66e5598be876..8872c21a487b 100644 > --- a/mm/percpu-km.c > +++ b/mm/percpu-km.c > @@ -67,7 +67,7 @@ static struct pcpu_chunk *pcpu_create_chunk(gfp_t gfp) > pcpu_set_page_chunk(nth_page(pages, i), chunk); > > chunk->data = pages; > - chunk->base_addr = page_address(pages) - pcpu_group_offsets[0]; > + chunk->base_addr = page_address(pages); > > spin_lock_irqsave(&pcpu_lock, flags); > pcpu_chunk_populated(chunk, 0, nr_pages, false); > -- > 2.16.4 > While I do think you're right, creating a chunk is not a part of the critical path and subtracting 0 is incredibly minor overhead. So I'd rather keep the code as is to maintain consistency between percpu-vm.c and percpu-km.c. Thanks, Dennis