[Qemu-devel] [RFC 0/3] Move notdirty handling to cputlb

Richard Henderson posted 3 patches 6 years, 1 month ago
Failed in applying to current master (apply log)
There is a newer version of this series
accel/tcg/atomic_template.h    | 12 -----
include/exec/cpu-common.h      |  1 -
include/exec/memory-internal.h | 53 +++----------------
accel/tcg/cputlb.c             | 65 +++++++++++++----------
accel/tcg/user-exec.c          |  1 -
exec.c                         | 97 +++++++---------------------------
memory.c                       | 20 -------
trace-events                   |  4 +-
8 files changed, 63 insertions(+), 190 deletions(-)
[Qemu-devel] [RFC 0/3] Move notdirty handling to cputlb
Posted by Richard Henderson 6 years, 1 month ago
RFC because this doesn't work, and I don't quite understand why.
The only failing test is {i386,x86_64} pxe-test -- the other
migration tests that use notdirty all pass.

Note that if you try to reproduce this on x86, you'll likely
have to --disable-kvm, as otherwise the pxe-test will skip tcg.

Anyone who knows how this works willing to have a look?


r~


Richard Henderson (3):
  exec: Adjust notdirty tracing
  cputlb: Move NOTDIRTY handling from I/O path to TLB path
  cputlb: Remove ATOMIC_MMU_DECLS

 accel/tcg/atomic_template.h    | 12 -----
 include/exec/cpu-common.h      |  1 -
 include/exec/memory-internal.h | 53 +++----------------
 accel/tcg/cputlb.c             | 65 +++++++++++++----------
 accel/tcg/user-exec.c          |  1 -
 exec.c                         | 97 +++++++---------------------------
 memory.c                       | 20 -------
 trace-events                   |  4 +-
 8 files changed, 63 insertions(+), 190 deletions(-)

-- 
2.17.1


Re: [Qemu-devel] [RFC 0/3] Move notdirty handling to cputlb
Posted by Paolo Bonzini 6 years, 1 month ago
On 18/09/19 07:26, Richard Henderson wrote:
> RFC because this doesn't work, and I don't quite understand why.
> The only failing test is {i386,x86_64} pxe-test -- the other
> migration tests that use notdirty all pass.
> 
> Note that if you try to reproduce this on x86, you'll likely
> have to --disable-kvm, as otherwise the pxe-test will skip tcg.
> 
> Anyone who knows how this works willing to have a look?

I think patch 2 is doing too much.  Why don't you keep
memory_notdirty_write_prepare and memory_notdirty_write_complete at
first (so that the atomic path is completely unchanged wrt MMU lookup),
and then simplify that separately?  Maybe that shows what's going on.

Paolo

Re: [Qemu-devel] [RFC 0/3] Move notdirty handling to cputlb
Posted by David Hildenbrand 6 years, 1 month ago
On 18.09.19 07:26, Richard Henderson wrote:
> RFC because this doesn't work, and I don't quite understand why.
> The only failing test is {i386,x86_64} pxe-test -- the other
> migration tests that use notdirty all pass.
> 
> Note that if you try to reproduce this on x86, you'll likely
> have to --disable-kvm, as otherwise the pxe-test will skip tcg.
> 
> Anyone who knows how this works willing to have a look?
> 
> 
> r~
> 
> 
> Richard Henderson (3):
>   exec: Adjust notdirty tracing
>   cputlb: Move NOTDIRTY handling from I/O path to TLB path
>   cputlb: Remove ATOMIC_MMU_DECLS
> 
>  accel/tcg/atomic_template.h    | 12 -----
>  include/exec/cpu-common.h      |  1 -
>  include/exec/memory-internal.h | 53 +++----------------
>  accel/tcg/cputlb.c             | 65 +++++++++++++----------
>  accel/tcg/user-exec.c          |  1 -
>  exec.c                         | 97 +++++++---------------------------
>  memory.c                       | 20 -------
>  trace-events                   |  4 +-
>  8 files changed, 63 insertions(+), 190 deletions(-)
> 

Cool, this might speed up some accesses - and will definetly cleanup
quite some code.

Can you CC me on further iterations, so I can test on s390x? Thanks!

-- 

Thanks,

David / dhildenb