mbox series

[v2,0/2] target/i386: fix hang when using slow path for ptw_setl

Message ID 20241025175334.2549425-1-pierrick.bouvier@linaro.org
Headers show
Series target/i386: fix hang when using slow path for ptw_setl | expand

Message

Pierrick Bouvier Oct. 25, 2024, 5:53 p.m. UTC
Most of the details are available in first patch. Second one is there to ensure
we'll have a useful error message if start_exclusive is called from cpu_exec
again.

I'm a bit puzzled that we never triggered this hang before. Is there something
wrong with the potential slow path for ptw_setl, or is it simply very uncommon?

v2:
- get current cpu from local variable instead of current_cpu global var.
- change condition to check cpu is running as current_cpu will never be NULL.

Pierrick Bouvier (2):
  target/i386: fix hang when using slow path for ptw_setl
  cpu: ensure we don't call start_exclusive from cpu_exec

 cpu-common.c                         | 3 +++
 target/i386/tcg/sysemu/excp_helper.c | 4 ++++
 2 files changed, 7 insertions(+)

Comments

Pierrick Bouvier Oct. 25, 2024, 5:59 p.m. UTC | #1
On 10/25/24 10:53, Pierrick Bouvier wrote:
> Most of the details are available in first patch. Second one is there to ensure
> we'll have a useful error message if start_exclusive is called from cpu_exec
> again.
> 
> I'm a bit puzzled that we never triggered this hang before. Is there something
> wrong with the potential slow path for ptw_setl, or is it simply very uncommon?
> 
> v2:
> - get current cpu from local variable instead of current_cpu global var.
> - change condition to check cpu is running as current_cpu will never be NULL.
> 
> Pierrick Bouvier (2):
>    target/i386: fix hang when using slow path for ptw_setl
>    cpu: ensure we don't call start_exclusive from cpu_exec
> 
>   cpu-common.c                         | 3 +++
>   target/i386/tcg/sysemu/excp_helper.c | 4 ++++
>   2 files changed, 7 insertions(+)
> 

Pushed from my old branch (same as v1), please see v3 instead.