[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 08/18] intel_iommu: fix trace for addr transl
From: |
Peter Xu |
Subject: |
Re: [Qemu-devel] [PATCH v6 08/18] intel_iommu: fix trace for addr translation |
Date: |
Tue, 7 Feb 2017 14:25:09 +0800 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Tue, Feb 07, 2017 at 01:40:39PM +0800, Jason Wang wrote:
>
>
> On 2017年02月03日 16:22, Peter Xu wrote:
> >Another patch to convert the DPRINTF() stuffs. This patch focuses on the
> >address translation path and caching.
> >
> >Signed-off-by: Peter Xu<address@hidden>
> >---
> > hw/i386/intel_iommu.c | 84
> > ++++++++++++++++++++-------------------------------
> > hw/i386/trace-events | 7 +++++
> > 2 files changed, 39 insertions(+), 52 deletions(-)
>
> Similar to previous patch, this in fact a conversion not a fix.
I'll fix the subject.
>
> >
> >diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
> >index d7b9a01..c672621 100644
> >--- a/hw/i386/intel_iommu.c
> >+++ b/hw/i386/intel_iommu.c
> >@@ -260,11 +260,9 @@ static void vtd_update_iotlb(IntelIOMMUState *s,
> >uint16_t source_id,
> > uint64_t *key = g_malloc(sizeof(*key));
> > uint64_t gfn = vtd_get_iotlb_gfn(addr, level);
> >- VTD_DPRINTF(CACHE, "update iotlb sid 0x%"PRIx16 " iova 0x%"PRIx64
> >- " slpte 0x%"PRIx64 " did 0x%"PRIx16, source_id, addr, slpte,
> >- domain_id);
> >+ trace_vtd_iotlb_page_update(source_id, addr, slpte, domain_id);
> > if (g_hash_table_size(s->iotlb) >= VTD_IOTLB_MAX_SIZE) {
> >- VTD_DPRINTF(CACHE, "iotlb exceeds size limit, forced to reset");
> >+ trace_vtd_iotlb_reset("iotlb exceeds size limit");
> > vtd_reset_iotlb(s);
> > }
> >@@ -505,8 +503,7 @@ static int vtd_get_root_entry(IntelIOMMUState *s,
> >uint8_t index,
> > addr = s->root + index * sizeof(*re);
> > if (dma_memory_read(&address_space_memory, addr, re, sizeof(*re))) {
> >- VTD_DPRINTF(GENERAL, "error: fail to access root-entry at 0x%"PRIx64
> >- " + %"PRIu8, s->root, index);
> >+ trace_vtd_err("Fail to access root-entry");
>
> Looks like some information were removed which may be valuable for
> debugging, any reason for do this?
I was trying to avoid introducing unnecessary traces, and I did a
judgement on which one is important.
I'll keep all the fields printed and add new traces for each of them
if you really want it.
Thanks,
-- peterx
[Qemu-devel] [PATCH v6 08/18] intel_iommu: fix trace for addr translation, Peter Xu, 2017/02/03
[Qemu-devel] [PATCH v6 09/18] intel_iommu: vtd_slpt_level_shift check level, Peter Xu, 2017/02/03
[Qemu-devel] [PATCH v6 10/18] memory: add section range info for IOMMU notifier, Peter Xu, 2017/02/03
[Qemu-devel] [PATCH v6 11/18] memory: provide IOMMU_NOTIFIER_FOREACH macro, Peter Xu, 2017/02/03
[Qemu-devel] [PATCH v6 12/18] memory: provide iommu_replay_all(), Peter Xu, 2017/02/03
[Qemu-devel] [PATCH v6 13/18] memory: introduce memory_region_notify_one(), Peter Xu, 2017/02/03
[Qemu-devel] [PATCH v6 14/18] memory: add MemoryRegionIOMMUOps.replay() callback, Peter Xu, 2017/02/03