lkml.org 
[lkml]   [2014]   [Sep]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: linux-next: Tree for Sep 1
On Tue, 2 Sep 2014, Christoph Lameter wrote:

> On Tue, 2 Sep 2014, Christoph Lameter wrote:
>
> > Oww.. This is double indirection deal there. A percpu offset pointing to
> > a pointer?
> >
> > Generally the following is true (definition from
> > include/asm-generic/percpu.h that is used for ARM for raw_cpu_read):
> >
> > #define raw_cpu_read_4(pcp) (*raw_cpu_ptr(&(pcp)))
>
> I think what the issue is that we dropped the fetch of the percpu offset
> in the patch. Instead we are using the address of the variable that
> contains the offset. Does this patch fix it?
>
>
> Subject: irqchip: Properly fetch the per cpu offset
>
> The raw_cpu_read() conversion dropped the fetch of the offset
> from base->percpu_base in gic_get_percpu_base.
>
> Signed-off-by: Christoph Lameter <cl@linux.com>
>
> Index: linux/drivers/irqchip/irq-gic.c
> ===================================================================
> --- linux.orig/drivers/irqchip/irq-gic.c
> +++ linux/drivers/irqchip/irq-gic.c
> @@ -102,7 +102,7 @@ static struct gic_chip_data gic_data[MAX
> #ifdef CONFIG_GIC_NON_BANKED
> static void __iomem *gic_get_percpu_base(union gic_base *base)
> {
> - return raw_cpu_read(base->percpu_base);
> + return raw_cpu_read(*base->percpu_base);

Isn't the pointer dereference supposed to be performed _outside_ the per
CPU accessor?


Nicolas


\
 
 \ /
  Last update: 2014-09-05 21:41    [W:0.529 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site