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

Reply via email to