On 15/9/23 18:32, Richard Henderson wrote:
Supercedes: 20230914174436.1597356-1-richard.hender...@linaro.org
("[PATCH 0/6] accel/tcg: Always require can_do_io (#1866)")

Patches 1-4 (5?) are cleanups although, isn't it?

An alternate fix for #1866 without touching can_do_io, and is
perhaps a bit cleaner and clearer.

Instead, the current cpu checks whether an address space update
is required on each entry to the slow path.  This certainly
catches all i/o.  It easily works for the sequential case of
two i/o, the first of which changes the address space and the
second of which requires the new address space.

I've done a tiny bit of performance testing between the two
solutions and it seems to be a wash.  So now it's simply a
matter of cleanliness.


r~


Richard Henderson (3):
   softmmu: Use cpu->created in tcg_commit
   softmmu: Introduce AddressSpaceDispatch generation numbers
   softmmu: Introduce cpu_address_space_sync

  include/exec/memory.h |  6 ++++++
  accel/tcg/cputlb.c    |  2 ++
  softmmu/physmem.c     | 46 ++++++++++++++++++++++++++++++++++++-------
  3 files changed, 47 insertions(+), 7 deletions(-)



Reply via email to