On 1/23/24 01:34, Paolo Bonzini wrote:
Unless I'm missing something egregious, the jmp cache is only every populated with a valid entry by the same thread that reads the cache. Therefore, the contents of any valid entry are always consistent and there is no need for any acquire/release magic.
I think you're right, and I over-complicated this thinking about invalidations.
Because of this, there is really nothing to win in splitting the CF_PCREL and !CF_PCREL paths. It is easier to just always use the ->pc field in the jump cache.
Once upon a time, PCREL was an ifdef, and the jump cache pc did not exist for !PCREL. The split has not been addressed since then.
The cleanup looks good. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> r~