Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp5437306ybi; Wed, 12 Jun 2019 02:28:32 -0700 (PDT) X-Google-Smtp-Source: APXvYqxj1dWjCfzrZ4NTq2idJFBst8h+0Rktj1AVLnhWbr64wzRdDZDGsPboPaDHoSKOyvA+yeVX X-Received: by 2002:a63:84c1:: with SMTP id k184mr22167376pgd.7.1560331711885; Wed, 12 Jun 2019 02:28:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560331711; cv=none; d=google.com; s=arc-20160816; b=NUA8ZZSxaUXEq4FDsInB7mnJr5gWfpQCMUCn2c5hcuksbivW7KD+gWZ/+SUeKx/xzg KwgRwiKPHVOA+XY51ZrPFECtQX6LLBSp0RPSGt4wpJ19+QtRfZpw9J04aJ1ya2Lxuc7z 6FTc3VG9tHlCoY7UHqm7P1zTcfNJHLqvWuWY9O8jePUiZh8Fl2tIgmUt1/UxC3v8FkEK 9JOsXgjOSCQroEYKUoY6lR4Cb7QBCwO8EcDa2Yxpfv+JWIDNj4noUFdu92hr2Jsm1OyB GjcMNgtSbP+bUT4eyP65NJo1QOv2zkS6jgkAZeREkDuCP/DjGbJlnIBqDPsQp6HfY7as AKjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from; bh=ajw54ZL8L6tD0ygYzbeVAXLzvikoiWdUh421Jmmt4/U=; b=oE0G1E/T6MJ5TKks5zE5brpbTAzaBGeh+jELa8B9G1R03h7k3PHgqEA2w99mUHWFUW aFOaRU8goD/ghPZ4u1hLTE9BXYEspWOA3vH7rQG1wi4dALt52ol/vl8ACcnsh3LFS4Qo QFi7NS2piWhMLD7YBrNMgM5vD7w3tN5x/vYQoDe+ILf7ANqaSsfOJKxzpeC3RKLQLU6l sZxhu3Ti1/EqiBvHGKfmaLKZ7ky/WtUvpNcq4XUxoKwcBd+Xe5hp523+KBos5HSbeIfF rD5ovjf/FCLbc2xDSbkTcqaB9ZI5DxoWBhcIEtWYbqQOQFawR7+gJOZMAl/5nUqNDPiy VTGQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q13si15305883pgq.496.2019.06.12.02.28.16; Wed, 12 Jun 2019 02:28:31 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2437303AbfFLJPJ (ORCPT + 99 others); Wed, 12 Jun 2019 05:15:09 -0400 Received: from szxga04-in.huawei.com ([45.249.212.190]:18558 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2436948AbfFLJPB (ORCPT ); Wed, 12 Jun 2019 05:15:01 -0400 Received: from DGGEMS409-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id EF3EA12D63526C173D19; Wed, 12 Jun 2019 17:11:50 +0800 (CST) Received: from HGHY2Y004646261.china.huawei.com (10.184.12.158) by DGGEMS409-HUB.china.huawei.com (10.3.19.209) with Microsoft SMTP Server id 14.3.439.0; Wed, 12 Jun 2019 17:11:42 +0800 From: Zenghui Yu To: , , , , CC: , , , , , , , , , , , , , , , , Zenghui Yu Subject: [PATCH v1 0/5] perf kvm: Add stat support on arm64 Date: Wed, 12 Jun 2019 09:08:41 +0000 Message-ID: <1560330526-15468-1-git-send-email-yuzenghui@huawei.com> X-Mailer: git-send-email 2.6.4.windows.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.184.12.158] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 'perf kvm stat report/record' generates a statistical analysis of KVM events and can be used to analyze guest exit reasons. This series tries to add stat support on arm64 (Port perf-kvm-stat to arm64 - this is already supported on x86). "record" enables recording of two pair of tracepoints: - "kvm:kvm_entry" and "kvm:kvm_exit" - "kvm:kvm_trap_enter" and "kvm:kvm_trap_exit" "report" reports statistical analysis of guest exit&trap events. To record kvm events on the host: # perf kvm stat record -a To report kvm VM EXIT events: # perf kvm stat report --event=vmexit To report kvm VM TRAP (synchronous exceptions) events: # perf kvm stat report --event=trap More information can be found at tools/perf/Documentation/perf-kvm.txt. * Patch 1-2 touch KVM/ARM side, with #1 is cleanup and #2 is preparation for perf-kvm-stat support. * Patch 3-5 touch perf side. * Patch 3 adds support for get_cpuid() function on arm64. *RFC!* * Patch 4 adds support for perf-kvm-stat on arm64, with VM-EXIT events. * Patch 5 adds support to report TRAP-EVENT events. Any suggestions, comments and test results will be appreciated. Thanks, zenghui --- Zenghui Yu (5): KVM: arm/arm64: Remove kvm_mmio_emulate tracepoint KVM: arm/arm64: Adjust entry/exit and trap related tracepoints perf tools arm64: Add support for get_cpuid() function perf,kvm/arm64: Add stat support on arm64 perf,kvm/arm64: perf-kvm-stat to report VM TRAP arch/arm64/kvm/handle_exit.c | 3 + arch/arm64/kvm/trace.h | 35 +++++++ tools/perf/arch/arm64/Makefile | 2 + tools/perf/arch/arm64/util/Build | 1 + tools/perf/arch/arm64/util/aarch64_guest_exits.h | 91 +++++++++++++++++ tools/perf/arch/arm64/util/header.c | 74 +++++++++----- tools/perf/arch/arm64/util/kvm-stat.c | 125 +++++++++++++++++++++++ virt/kvm/arm/arm.c | 4 +- virt/kvm/arm/trace.h | 42 ++------ 9 files changed, 317 insertions(+), 60 deletions(-) create mode 100644 tools/perf/arch/arm64/util/aarch64_guest_exits.h create mode 100644 tools/perf/arch/arm64/util/kvm-stat.c -- 1.8.3.1