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

Pierrick Bouvier posted 2 patches 4 weeks ago
There is a newer version of this series
cpu-common.c                         | 3 +++
target/i386/tcg/sysemu/excp_helper.c | 4 ++++
2 files changed, 7 insertions(+)
[PATCH v2 0/2] target/i386: fix hang when using slow path for ptw_setl
Posted by Pierrick Bouvier 4 weeks ago
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(+)

-- 
2.39.5
Re: [PATCH v2 0/2] target/i386: fix hang when using slow path for ptw_setl
Posted by Pierrick Bouvier 4 weeks ago
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.