On 2/10/21 2:10 PM, Alex Bennée wrote: > Again there is no reason to jump through the nocache hoops to execute > a single instruction block. We do have to add an additional wrinkle to > the cpu_handle_interrupt case to ensure we let through a TB where we > have specifically disabled icount for the block.
Can you say more about this? Because... > if (unlikely(qatomic_read(&cpu->exit_request)) > || (icount_enabled() > + && (cpu->cflags_next_tb == -1 || cpu->cflags_next_tb & > CF_USE_ICOUNT) > && cpu_neg(cpu)->icount_decr.u16.low + cpu->icount_extra == 0)) { ... this does not appear to match. You're checking that icount has been explicitly *enabled*? Or am I reading the logic backward and only if icount is enabled will we take EXCP_INTERRUPT? r~