mx28evk does not boot with linux-next 20130207

Will Deacon will.deacon at arm.com
Sun Feb 17 14:18:17 EST 2013


On Sat, Feb 16, 2013 at 05:56:13PM +0000, Russell King - ARM Linux wrote:
> On Sat, Feb 16, 2013 at 03:41:53PM -0200, Fabio Estevam wrote:
> > Hi Will,

Hello,

> > On Fri, Feb 8, 2013 at 3:14 PM, Fabio Estevam <festevam at gmail.com> wrote:
> > Do you plan to submit this patch to Russell's patch system?
> 
> No, I've suggested to Will that we deal with the branch predictor a
> different way, because we actually rarely need to flush it.  Plus,
> these patches are architecturally wrong (you're not allowed to branch
> between the BP maintanence instruction and the following isb/dsb
> instructions because the branches become "unpredictable".

I think the branches are actually ok, because the code in question (that is,
the kernel code dispatching to and performing the flush) is mapped
identically before and after the page table switch.

> Plus, we _used_ to flush the BP here, and I did an amount of work to
> remove the flushing because it just wasn't necessary - all the paths
> at that time just didn't require it.

This is the killer argument. We don't need the maintenance except in a few,
tiny places. I've written some patches for that and I'll post them to the
list in due course, aiming for 3.10.

> What we have ended up with today is a couple of paths which do, both
> of which are arch-specific code, and we should deal with that in an
> arch specific way.  Will has been working on a patch to do that...

Yup. I've also been looking at TLB invalidation as a whole and some
optimisations we can do on ARMv7 where we don't *actually* need to use the
inner-shareable variants. Non-shareable often suffices and is a win in terms
of both performance and power (it makes the deferred flushing on ASID
rollover usable by v7 too). Again, I've been hacking in this area so I'll
post patches for review once I've got a coherent story.

> In the mean time, I'm dropping 5d9e3f9d7fcd7d09feb5d23974768a60bcea4094
> which added the BP maintanence (I actually said to Will that I'd already
> done this but it appears not.)

Thanks Russell.

Will



More information about the linux-arm-kernel mailing list