| Submitter | Phileas Fogg |
|---|---|
| Date | Feb. 10, 2013, 5:51 p.m. |
| Message ID | <1360518697.255951128@f337.mail.ru> |
| Download | mbox | patch |
| Permalink | /patch/219528/ |
| State | Not Applicable |
| Headers | show |
Comments
On Sun, Feb 10, 2013 at 09:51:37PM +0400, Phileas Fogg wrote: > > >Phileas Fogg < phileas-fogg@mail.ru > writes: > > > > Patch: > > --- arch/powerpc/kernel/setup_64.c.old 2013-02-10 19:34:53.787366191 +0100 > +++ arch/powerpc/kernel/setup_64.c 2013-02-10 19:35:38.834035478 +0100 > @@ -186,6 +186,9 @@ > initialise_paca(&boot_paca, 0); > setup_paca(&boot_paca); > > + /* Allow percpu accesses to "work" until we setup percpu data */ > + boot_paca.data_offset = 0; > + This is correct. > /* Initialize lockdep early or else spinlocks will blow */ > lockdep_init(); > > @@ -208,8 +211,6 @@ > > /* Fix up paca fields required for the boot cpu */ > get_paca()->cpu_start = 1; > - /* Allow percpu accesses to "work" until we setup percpu data */ > - get_paca()->data_offset = 0; But this is not. As you said, they are different pacas, so we need to make sure both boot_paca, and "the paca of the boot cpu" are initialised with data_offset = 0. I'll send a patch to sort it. cheers
Patch
--- arch/powerpc/kernel/setup_64.c.old 2013-02-10 19:34:53.787366191 +0100 +++ arch/powerpc/kernel/setup_64.c 2013-02-10 19:35:38.834035478 +0100 @@ -186,6 +186,9 @@ initialise_paca(&boot_paca, 0); setup_paca(&boot_paca); + /* Allow percpu accesses to "work" until we setup percpu data */ + boot_paca.data_offset = 0; + /* Initialize lockdep early or else spinlocks will blow */ lockdep_init(); @@ -208,8 +211,6 @@ /* Fix up paca fields required for the boot cpu */ get_paca()->cpu_start = 1; - /* Allow percpu accesses to "work" until we setup percpu data */ - get_paca()->data_offset = 0; /* Probe the machine type */ probe_machine();