From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2F9BAC07E9B for ; Fri, 9 Jul 2021 20:30:49 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8E318613BC for ; Fri, 9 Jul 2021 20:30:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8E318613BC Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=vivier.eu Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:47882 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m1x95-0000UC-MA for qemu-devel@archiver.kernel.org; Fri, 09 Jul 2021 16:30:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60458) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m1x6z-00068l-0a; Fri, 09 Jul 2021 16:28:37 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:58073) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m1x6x-0007Ua-8D; Fri, 09 Jul 2021 16:28:36 -0400 Received: from quad ([82.142.13.34]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1N79q6-1l5Y5g3Hmm-017Syl; Fri, 09 Jul 2021 22:28:28 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 2/9] memory: Display MemoryRegion name in read/write ops trace events Date: Fri, 9 Jul 2021 22:28:17 +0200 Message-Id: <20210709202824.578187-3-laurent@vivier.eu> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210709202824.578187-1-laurent@vivier.eu> References: <20210709202824.578187-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K1:+JiSKhJQ1fkJGmI7CYC2rkPMuSlNEiCmDEycVEZ8IzliXYGVpLa Lfl1m0iSBOpTmjX7xoSKYQFHpx94cP+3rpR6GazCgg0fXRWdefHIj0r67PNgepoi+gaK9Xo +VAwhvFxryN5UTLimwHvnHA+HLy5uW718hvJAyQdz2aH5gvaXJWHaISxOubmuP77KQD5SL8 wj6ZKQIB6TuUd7cmvgl/g== X-UI-Out-Filterresults: notjunk:1;V03:K0:M+f8IyWKicg=:YRRcUhBgNKMQQiUaozo7AF 3zXHJerBYK3ywklh1rY8miDm9RVMz+GW8h4wmLbmuh+RXqrnac1RjexhePNxMW4xXGQ02+ZaT vwo/BVqn2LILcaE3QkFZr4lMw4hAykpGo+QbhHjZshII8C5/QgsP5ANUi+ReAvOhbzTamXM1Z dCh8pR7fMh6zqgGW66NxUY/cOTKrbIyvy3A6prhqu8UreO1lE1XNg21TF6a+ph73iZSR7Faw4 0EqaB9kxRIrw7vk+MBKbOiIt6XI0gvl8j0qIQ9iTNyn/VCF9iciUQ8//ozFISi+pAHedQn6Yi 23sUR4QNl4Nie40oMITNlT3FJmHJ5gsfIXJjz0cMs3HszuaJuX6fbuHHrNCt5L4GfUnr+mXdN tDMiuPA+2pBfgJRP0TkrA2RcN0FfB0NknCXnZdelhZidUmh9aF1BKrgjhYaIxPUeUnu/DyFd4 54GbzcgpT90l3cgvYqKPfXvZ+WzzjpGoB2Uypddc8ZRjRhaIRvnqIHJxig8nT/J6dL87y2ulz 5SH1cE+aaz+M2h4tmBMpckU9WjcoP6DV6CPDPD3dZURCl5/1esKjwpB8+c7gFklIkO7v9t4u/ mBpT1iHZ0V85P2RfV2g7iv2BagaSLxrorOKg0etAKooGgx8GhLrxzpA8rDQBgJG9uzGOiSzJQ Kg32gv3mbLDhKq8B3Q/W+7qDU3IOvgJRUBoSvdntUsdDEuEEdJfGLXMv4Q+NrjdP1B7gaH4eW Id8JravrSRMXcTIfV6UdX3k8a0tKgJNeUbY6M8B8XMVUwVVJN9WXYFyHPfe6DHxSuM3FDDV6s SwEYG7BW+38AhyaTppKQBHEs8/ZcjI3ar08tz3wdB/7LtiH26N/ABbCJeWb7MhArb/CAUK6 Received-SPF: none client-ip=212.227.17.10; envelope-from=laurent@vivier.eu; helo=mout.kundenserver.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-trivial@nongnu.org, Michael Tokarev , Laurent Vivier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé MemoryRegion names is cached on first call to memory_region_name(), so displaying the name is trace events is cheap. Add it for read / write ops. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Laurent Vivier Message-Id: <20210307074833.143106-1-f4bug@amsat.org> Signed-off-by: Laurent Vivier --- softmmu/memory.c | 12 ++++++++---- softmmu/trace-events | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/softmmu/memory.c b/softmmu/memory.c index f0161515e96d..24a97c8b1f9a 100644 --- a/softmmu/memory.c +++ b/softmmu/memory.c @@ -442,7 +442,8 @@ static MemTxResult memory_region_read_accessor(MemoryRegion *mr, trace_memory_region_subpage_read(get_cpu_index(), mr, addr, tmp, size); } else if (trace_event_get_state_backends(TRACE_MEMORY_REGION_OPS_READ)) { hwaddr abs_addr = memory_region_to_absolute_addr(mr, addr); - trace_memory_region_ops_read(get_cpu_index(), mr, abs_addr, tmp, size); + trace_memory_region_ops_read(get_cpu_index(), mr, abs_addr, tmp, size, + memory_region_name(mr)); } memory_region_shift_read_access(value, shift, mask, tmp); return MEMTX_OK; @@ -464,7 +465,8 @@ static MemTxResult memory_region_read_with_attrs_accessor(MemoryRegion *mr, trace_memory_region_subpage_read(get_cpu_index(), mr, addr, tmp, size); } else if (trace_event_get_state_backends(TRACE_MEMORY_REGION_OPS_READ)) { hwaddr abs_addr = memory_region_to_absolute_addr(mr, addr); - trace_memory_region_ops_read(get_cpu_index(), mr, abs_addr, tmp, size); + trace_memory_region_ops_read(get_cpu_index(), mr, abs_addr, tmp, size, + memory_region_name(mr)); } memory_region_shift_read_access(value, shift, mask, tmp); return r; @@ -484,7 +486,8 @@ static MemTxResult memory_region_write_accessor(MemoryRegion *mr, trace_memory_region_subpage_write(get_cpu_index(), mr, addr, tmp, size); } else if (trace_event_get_state_backends(TRACE_MEMORY_REGION_OPS_WRITE)) { hwaddr abs_addr = memory_region_to_absolute_addr(mr, addr); - trace_memory_region_ops_write(get_cpu_index(), mr, abs_addr, tmp, size); + trace_memory_region_ops_write(get_cpu_index(), mr, abs_addr, tmp, size, + memory_region_name(mr)); } mr->ops->write(mr->opaque, addr, tmp, size); return MEMTX_OK; @@ -504,7 +507,8 @@ static MemTxResult memory_region_write_with_attrs_accessor(MemoryRegion *mr, trace_memory_region_subpage_write(get_cpu_index(), mr, addr, tmp, size); } else if (trace_event_get_state_backends(TRACE_MEMORY_REGION_OPS_WRITE)) { hwaddr abs_addr = memory_region_to_absolute_addr(mr, addr); - trace_memory_region_ops_write(get_cpu_index(), mr, abs_addr, tmp, size); + trace_memory_region_ops_write(get_cpu_index(), mr, abs_addr, tmp, size, + memory_region_name(mr)); } return mr->ops->write_with_attrs(mr->opaque, addr, tmp, size, attrs); } diff --git a/softmmu/trace-events b/softmmu/trace-events index d18ac41e4e34..7b278590a0e2 100644 --- a/softmmu/trace-events +++ b/softmmu/trace-events @@ -9,8 +9,8 @@ cpu_in(unsigned int addr, char size, unsigned int val) "addr 0x%x(%c) value %u" cpu_out(unsigned int addr, char size, unsigned int val) "addr 0x%x(%c) value %u" # memory.c -memory_region_ops_read(int cpu_index, void *mr, uint64_t addr, uint64_t value, unsigned size) "cpu %d mr %p addr 0x%"PRIx64" value 0x%"PRIx64" size %u" -memory_region_ops_write(int cpu_index, void *mr, uint64_t addr, uint64_t value, unsigned size) "cpu %d mr %p addr 0x%"PRIx64" value 0x%"PRIx64" size %u" +memory_region_ops_read(int cpu_index, void *mr, uint64_t addr, uint64_t value, unsigned size, const char *name) "cpu %d mr %p addr 0x%"PRIx64" value 0x%"PRIx64" size %u name '%s'" +memory_region_ops_write(int cpu_index, void *mr, uint64_t addr, uint64_t value, unsigned size, const char *name) "cpu %d mr %p addr 0x%"PRIx64" value 0x%"PRIx64" size %u name '%s'" memory_region_subpage_read(int cpu_index, void *mr, uint64_t offset, uint64_t value, unsigned size) "cpu %d mr %p offset 0x%"PRIx64" value 0x%"PRIx64" size %u" memory_region_subpage_write(int cpu_index, void *mr, uint64_t offset, uint64_t value, unsigned size) "cpu %d mr %p offset 0x%"PRIx64" value 0x%"PRIx64" size %u" memory_region_ram_device_read(int cpu_index, void *mr, uint64_t addr, uint64_t value, unsigned size) "cpu %d mr %p addr 0x%"PRIx64" value 0x%"PRIx64" size %u" -- 2.31.1