On Sat, Jun 10, 2017 at 09:59:19 -0700, Richard Henderson wrote: > On 06/10/2017 01:51 AM, Alex Bennée wrote: > >I would agree with Emilio that we revert but I can't quite shake the > >feeling we are missing an underlying problem. Would just skipping the > >htable lookup (but keeping the tb_jmp_cache) be an OK fix for now? > > I agree. It seems like there's some real problem that this is uncovering. > > Dropping the htable lookup is certainly ok by me. If that's enough to > un-stick your regression testing for aarch64 guest.
Unfortunately not checking the htable isn't enough to fix it for me. I spent a few hours on Friday trying (and failing) to understand what's going on. Regarding interrupts, I see *more* TB_EXIT_INTERRUPT exits than without the patch, so my current best guess is that this is a livelock kind of thing. I'll keep digging, but regardless I think we should revert e75449a346 ("target/aarch64: optimize indirect branches") ASAP, and then reenable the feature ("revert the revert") once we get to the bottom of this. E.