On Tue, 5 Feb 2019 at 14:47, Philippe Mathieu-Daudé <[email protected]> wrote: > I was going to send this patch and was looking for to fill the > "Reported-by" tag to finalize the commit description before sending: > > -- >8 -- > diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h > index aa7b81aaf0..8dc2aab60e 100644 > --- a/include/exec/exec-all.h > +++ b/include/exec/exec-all.h > @@ -418,7 +418,8 @@ static inline uint32_t tb_cflags(const > TranslationBlock *tb) > static inline uint32_t curr_cflags(void) > { > return (parallel_cpus ? CF_PARALLEL : 0) > - | (use_icount ? CF_USE_ICOUNT : 0); > + | (use_icount ? CF_USE_ICOUNT : 0) > + | CF_CLUSTER_MASK; > }
That's not right, because it puts all-1s in the cluster field. That will happen to hit for TBs generated for CPUs in the "not in a cluster" default UNASSIGNED_CLUSTER_INDEX, but it's wrong for CPUs that are in a specifically assigned cluster and will result in those failing to hit cached TBs when they should. thanks -- PMM
