[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACVXFVOEvvFT805TJHoppqGRLTRuP18=Wg72LSXryffZD_WH1A@mail.gmail.com>
Date: Tue, 12 Mar 2013 19:25:28 +0800
From: Ming Lei <tom.leiming@...il.com>
To: Russell King - ARM Linux <linux@....linux.org.uk>
Cc: linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Rob Herring <rob.herring@...xeda.com>,
Will Deacon <will.deacon@....com>,
Nicolas Pitre <nico@...aro.org>
Subject: Re: [PATCH v1] ARM: keep __my_cpu_offset consistent with generic one
On Tue, Mar 12, 2013 at 6:56 PM, Russell King - ARM Linux
<linux@....linux.org.uk> wrote:
>>
>> Looks no one objects the patch, so I has submitted it into Russell's
>> patch system, and hope it can be pushed to linus tree soon and
>> make LOCK_STAT/DEBUG_LOCKDEP usable on ARMv7.
>
> I'm not convinced it is correct. Is the percpu data as stored in the
> kernel image (in other words, at offset zero) supposed to be read only?
It should have been used after setup_per_cpu_areas().
> If so, the above means that we'll be accessing that rather than the
> copy of the percpu data we should be accessing.
I admit the patch is a work around for the problem, but it is harmless
to make lockdep workable on arm at least.
> The percpu data areas are allocated by setup_per_cpu_areas() - that's
> where we should be initializing this, just like it's done on PowerPC.
>From the entry of start_kernel to setup_per_cpu_areas, there are many
locks which will be acquired/released, so the percpu variable in lock_release
has to be used early now. Either disabling lockdep during the period or
introducing stupid/simple percpu variable inside lockdep may fix the probem,
but looks both aren't perfect.
So the workaround is proposed in this patch...
Ingo and Peter, what is your opinion on the problem?
Thanks
--
Ming Lei
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists