qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/10] accel: Only include qdev-realized vCPUs in global &cpus_queue
@ 2025-02-07 16:20 Igor Mammedov
  2025-02-07 16:20 ` [PATCH v2 01/10] bsd-user: drop not longer used target_reset_cpu() Igor Mammedov
                   ` (10 more replies)
  0 siblings, 11 replies; 26+ messages in thread
From: Igor Mammedov @ 2025-02-07 16:20 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Richard Henderson, Philippe Mathieu-Daudé,
	Alex Bennée

Changelog:
  * drop wire/unwire hooks patches
  * drop unrealize related patches
  * include fixed up patches from
       [PATCH 0/6] tcg: fix qemu crash when add assert_cpu_is_self() is enabled
        and cleanups related to cpu->created check
        https://patchew.org/QEMU/20250129134436.1240740-1-imammedo@redhat.com/
    as it's related to the topic (well, modulo bsd cleanup)
  * CI mostly green modulo rust failure on Ubuntu
     https://gitlab.com/imammedo/qemu/-/pipelines/1660855467

The goal of this series is to expose vCPUs in a stable state
to the accelerators, in particular the QDev 'REALIZED' step.

To do this we split out cpu_index assignment into a separate step,
and move call cpu_list_add() to the end of CPU realize stage.

I expect these changes to allow CPUState::cpu_index clarifications
and simplifications, but this will be addressed (and commented) in
a separate series.

As result, the series also
 * fix regression intoroduced by
      30933c4fb4f3d ("tcg/cputlb: remove other-cpu capability from TLB flushing")
   for deatials see 'tcg:tlb: use tcg_debug_assert() in assert_cpu_is_self()'
 * drops no longer needed workaround 'cpu->check' due to vCPU being exposed
   too early in cpus_queue.

CC: Paolo Bonzini <pbonzini@redhat.com>
CC: Richard Henderson <richard.henderson@linaro.org>
CC: "Philippe Mathieu-Daudé" <philmd@linaro.org>
CC: Alex Bennée <alex.bennee@linaro.org>

Igor Mammedov (7):
  bsd-user: drop not longer used target_reset_cpu()
  loongarch: reset vcpu after it's created
  m68k: reset vcpu after it's created
  tcg:tlb: use tcg_debug_assert() in assert_cpu_is_self()
  Revert "tcg/cputlb: remove other-cpu capability from TLB flushing"
  tcg: drop cpu->created check
  cpus: expose only realized vCPUs to global &cpus_queue

Philippe Mathieu-Daudé (3):
  accel/tcg: Simplify use of &first_cpu in rr_cpu_thread_fn()
  accel/kvm: Assert vCPU is created when calling kvm_dirty_ring_reap*()
  accel/kvm: Remove unreachable assertion in kvm_dirty_ring_reap*()

 bsd-user/aarch64/target_arch_cpu.h |  5 ---
 bsd-user/arm/target_arch_cpu.h     |  4 ---
 bsd-user/i386/target_arch_cpu.h    |  5 ---
 bsd-user/riscv/target_arch_cpu.h   |  4 ---
 bsd-user/x86_64/target_arch_cpu.h  |  5 ---
 include/hw/core/cpu.h              |  6 ++++
 accel/kvm/kvm-all.c                |  9 ------
 accel/tcg/cputlb.c                 | 49 +++++++++++++++++++++---------
 accel/tcg/tcg-accel-ops-rr.c       | 13 +++++---
 cpu-common.c                       | 23 ++++++++------
 cpu-target.c                       |  2 +-
 hw/core/cpu-common.c               |  2 ++
 target/loongarch/cpu.c             |  2 +-
 target/m68k/cpu.c                  |  2 +-
 14 files changed, 68 insertions(+), 63 deletions(-)

-- 
2.43.0



^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2025-03-03 14:35 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-07 16:20 [PATCH v2 00/10] accel: Only include qdev-realized vCPUs in global &cpus_queue Igor Mammedov
2025-02-07 16:20 ` [PATCH v2 01/10] bsd-user: drop not longer used target_reset_cpu() Igor Mammedov
2025-02-25 11:27   ` Alex Bennée
2025-03-02  5:11   ` Warner Losh
2025-02-07 16:20 ` [PATCH v2 02/10] loongarch: reset vcpu after it's created Igor Mammedov
2025-02-25  7:50   ` bibo mao
2025-02-26  7:10   ` Philippe Mathieu-Daudé
2025-02-07 16:20 ` [PATCH v2 03/10] m68k: " Igor Mammedov
2025-02-25 11:27   ` Alex Bennée
2025-02-26  7:12   ` Philippe Mathieu-Daudé
2025-02-07 16:20 ` [PATCH v2 04/10] tcg:tlb: use tcg_debug_assert() in assert_cpu_is_self() Igor Mammedov
2025-02-25 11:47   ` Alex Bennée
2025-02-07 16:20 ` [PATCH v2 05/10] Revert "tcg/cputlb: remove other-cpu capability from TLB flushing" Igor Mammedov
2025-02-25 12:42   ` Alex Bennée
2025-02-25 17:19     ` Igor Mammedov
2025-02-25 17:26       ` Igor Mammedov
2025-02-07 16:20 ` [PATCH v2 06/10] tcg: drop cpu->created check Igor Mammedov
2025-02-07 16:20 ` [PATCH v2 07/10] accel/tcg: Simplify use of &first_cpu in rr_cpu_thread_fn() Igor Mammedov
2025-02-25 12:44   ` Alex Bennée
2025-02-07 16:20 ` [PATCH v2 08/10] cpus: expose only realized vCPUs to global &cpus_queue Igor Mammedov
2025-02-26  7:16   ` Philippe Mathieu-Daudé
2025-03-03 13:09     ` Igor Mammedov
2025-03-03 14:34       ` Philippe Mathieu-Daudé
2025-02-07 16:20 ` [PATCH v2 09/10] accel/kvm: Assert vCPU is created when calling kvm_dirty_ring_reap*() Igor Mammedov
2025-02-07 16:20 ` [PATCH v2 10/10] accel/kvm: Remove unreachable assertion in kvm_dirty_ring_reap*() Igor Mammedov
2025-02-25 10:31 ` [PATCH v2 00/10] accel: Only include qdev-realized vCPUs in global &cpus_queue Igor Mammedov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).