[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] subpage_write() and duplicated memory_region_ops_write
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] subpage_write() and duplicated memory_region_ops_write tracepoints |
Date: |
Wed, 9 Dec 2015 22:12:13 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 09/12/2015 21:54, Hollis Blanchard wrote:
>
> #0 trace_memory_region_ops_write (mr=0x185b620, addr=16, absaddr=738205712,
> value=136, size=4)
> at
> /scratch1/hblancha/install/customq/qemu-2.4.0/src/trace/generated-tracers.h:7374
> #1 0x000000000045eb8a in *memory_region_write_with_attrs_accessor*
> (mr=0x185b620, addr=16,
> value=0x45203338, size=4, shift=0, mask=4294967295, attrs=...)
> at /scratch1/hblancha/install/customq/qemu-2.4.0/src/memory.c:513
> #2 0x000000000045ed08 in access_with_adjusted_size (addr=16,
> value=0x45203338, size=4,
> access_size_min=1, access_size_max=4, access=0x45eb15
> <memory_region_write_with_attrs_accessor>,
> mr=0x185b620, attrs=...) at
> /scratch1/hblancha/install/customq/qemu-2.4.0/src/memory.c:556
> #3 0x0000000000461ed7 in memory_region_dispatch_write (mr=0x185b620,
> addr=16, data=136, size=4,
> attrs=...) at
> /scratch1/hblancha/install/customq/qemu-2.4.0/src/memory.c:1214
> #4 0x0000000000411bbf in address_space_rw (as=0x11f3440, addr=738205712,
> attrs=...,
> buf=0x45203490 "\210", len=4, is_write=true)
> at /scratch1/hblancha/install/customq/qemu-2.4.0/src/exec.c:2497
> #5 0x0000000000411ea9 in address_space_write (as=0x11f3440, addr=738205712,
> attrs=...,
> buf=0x45203490 "\210", len=4) at
> /scratch1/hblancha/install/customq/qemu-2.4.0/src/exec.c:2579
> #6 0x0000000000410d89 in subpage_write (opaque=0x19148f0, addr=16,
> value=136, len=4, attrs=...)
> at /scratch1/hblancha/install/customq/qemu-2.4.0/src/exec.c:2139
> #7 0x000000000045ebb2 in *memory_region_write_with_attrs_accessor*
> (mr=0x19148f0, addr=16,
> value=0x452035a8, size=4, shift=0, mask=4294967295, attrs=...)
> at /scratch1/hblancha/install/customq/qemu-2.4.0/src/memory.c:516
> #8 0x000000000045ed08 in access_with_adjusted_size (addr=16,
> value=0x452035a8, size=4,
> access_size_min=1, access_size_max=8, access=0x45eb15
> <memory_region_write_with_attrs_accessor>,
> mr=0x19148f0, attrs=...) at
> /scratch1/hblancha/install/customq/qemu-2.4.0/src/memory.c:556
> #9 0x0000000000461ed7 in memory_region_dispatch_write (mr=0x19148f0,
> addr=16, data=136, size=4,
> attrs=...) at
> /scratch1/hblancha/install/customq/qemu-2.4.0/src/memory.c:1214
> #10 0x000000000046c61c in io_writel (env=0x2aabace89268,
> iotlbentry=0x2aabace99808, val=136,
> addr=18446743523953745936, retaddr=1107508028)
> at
> /scratch1/hblancha/install/customq/qemu-2.4.0/src/softmmu_template.h:470
> #11 0x000000000046c3cb in helper_le_stl_mmu (env=0x2aabace89268,
> addr=18446743523953745936, val=136,
> oi=33, retaddr=1107508028)
> at
> /scratch1/hblancha/install/customq/qemu-2.4.0/src/softmmu_template.h:510
> #12 0x0000000042033b3e in code_gen_buffer ()
>
>
> The first tracepoint in each pair is an artifact, and should be omitted.
> Any suggestions? We could special case "if (mr->ops->write !=
> subpage_write) { emit tracepoint }", but that's a bit of a hack... :-)
You can add an argument to the tracepoint for mr->subpage. I would keep
the duplicate however.
Paolo