Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757020AbcCRGMY (ORCPT ); Fri, 18 Mar 2016 02:12:24 -0400 Received: from mail-by2on0058.outbound.protection.outlook.com ([207.46.100.58]:3904 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756876AbcCRGLb (ORCPT ); Fri, 18 Mar 2016 02:11:31 -0400 Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=amd.com; From: Suravee Suthikulpanit To: , , , , , CC: , , , , Suravee Suthikulpanit , Suravee Suthikulpanit Subject: [PART1 RFC v3 08/12] KVM: x86: Add trace events for AVIC Date: Fri, 18 Mar 2016 01:09:44 -0500 Message-ID: <1458281388-14452-9-git-send-email-Suravee.Suthikulpanit@amd.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1458281388-14452-1-git-send-email-Suravee.Suthikulpanit@amd.com> References: <1458281388-14452-1-git-send-email-Suravee.Suthikulpanit@amd.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [124.121.8.20] X-ClientProxiedBy: SG2PR04CA0047.apcprd04.prod.outlook.com (25.169.49.143) To BY1PR12MB0437.namprd12.prod.outlook.com (25.162.147.139) X-MS-Office365-Filtering-Correlation-Id: 3b081f33-8e89-43b8-2d96-08d34ef42501 X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0437;2:RONG8H6XVysSS+LwCE05zfY0VBI25mwhmeVZ5shj4rLMFtV+buh2rivt+47H6qfFwenwxwQmvwi3TxEd1gCVU7H+BWNE4n0XFWyX1bZjsMi6pBUa+4ttAF5jqk6BpT/zAcM3NVhKj2cG33CNU146bO5ah21XkZbJG/IzwicI4tC10Scved9AxymLRwXOin/p;3:BwWOrULhivfrCnNHfNgUynuO8RgYM5NEd5PmxWyIPv9d4mAM8JCYGfdXmBaTOsLuHGkZ53Tl2axh7Uhctw9sGrJvYqodN/U0FA7Sqgk4wa2+0n3JtzIplvZUQ/ilYl8w;25:X/wea6RNhKLPXUPVCONao2fIdJqDJLmEgcSYM+fCbDeT/ybEkup/vnErjSeg27mqBlg0+UTrRjqzM/+/mCFOv+WGCi+A8IGOLM6Q50UZHhCb2GEdFrU8kiu0JCicjqSSe3IFgtcjyHh3zOhf9AcxB0PKBfnqYDTFhXNYUGMJPLqymtncVvHxQ8HwQt2xRYudtlQxrfucBwQ3fx9bk/lqrMJEWA5kATGYtqo6NCkamnbj7flQVzpD3L2pWOx85bKZ9pA5flTA3Rs4Hyza5jTHjgn89yoZciW3F50Bm+y9SEeu24or0zefuM1xRhay6LkMtgmxeJDDYWLNEZHd8pRPax3dU/SH5FTK5a9PuoWFETqDBg5l8CAtqW1dHwbXwap1HScmH+p08UPN3sPs+9U08E8rfAiC4u+gP5NuSF+qaJ/usbZ845y5+fxKQcBn8MxIelHgLOKcKad96GAHJj8zylsZbpIvhfu4mQtnGftfuPo/3WBRsY0DzcvTyr3m7Ze/yIoQaWjNgBj/MpxOXH9RgA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR12MB0437; X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0437;20:jg3NDz9ucpHrIDJy3U0ap077RJ++ij0P7VvOgYT2WBh+cZgJkIDBBjV8n10g9v9r3yYbsrymhLcrGStkKbCBtTz2PTIkm24GNeRcNN6qkukb9sBNo7OyRkAUiQhd/RqOLfJ5vm1JaDpjGjth5sH4WuXYbH63xkeQOf1nxWX0CYgr4wl2721a8EiyK9yBg68jx86I79o4qXnHJwviktZFjEtxsQznS0YnCIXKpCP7R0mNV+aYwWD5ePwv7W2NbKq2MLIZwzZiy9oA4a4Olow413RgHbQIqDCd1kdCAu6Jwju1rrEq6NpFNSdRbYx8Q+S8ENZ4fLIZGRJ+1MITZK31OByY64xtknCoQ0E9LFVz/oBfeKcFX25qhxT3MQb7Qw6zWjWI0Lue7T0IhbVTtdUGYKQjEo0q8hO7efbr1MidsxDY9q0ovcWdeZRccDiNlGIjJ8AztVjRXkL2Tsmn6Z4IxQ1rIrYlig23KayUJ1ReEQjkbNJ1+32u4JbwK7MHJSRU;4:Jz1+sgD4tWjwTis3QTM9bGzVa8hsvK/See1Ebgo61msI+G5n4SE3i67GRjP9oJzC9k0CizfHszoSC4QKU2wAG5bNBdPxngBb5TUGdCrVM6ijG1FOBaF6G3/lXTNVoz/S+Y+8+4lNKna8FQBbiR5dvG63gRhtNbAx1B2IzMHD8N0J0QQ09biYeqaKabChoOs6tI07/FBNfzwOJgpLlZbYfPwnkweAC+gu1ButyAi6bgRzsp2vGA6DlRm3e1ltUvgeBRwDe9Zkr2Ol4/MCou+kMVRkVBeVRUUTEaUyBR7VK/p2/fCGoQP/d6JcZU5hxICAvCpW3z36l/a4I9vkjOa0qlUo3Zf6Zrr4Z2vfDV7mIMaIod3LhFD8LN6ix67OYg+N X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001);SRVR:BY1PR12MB0437;BCL:0;PCL:0;RULEID:;SRVR:BY1PR12MB0437; X-Forefront-PRVS: 088552DE73 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6069001)(189998001)(66066001)(19580395003)(19580405001)(47776003)(42186005)(3846002)(5001770100001)(50226001)(6116002)(2201001)(86362001)(586003)(229853001)(2950100001)(36756003)(5004730100002)(77096005)(81166005)(5003940100001)(4326007)(50466002)(92566002)(48376002)(5008740100001)(76176999)(50986999);DIR:OUT;SFP:1101;SCL:1;SRVR:BY1PR12MB0437;H:localhost.localdomain;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0437;23:QR5T0VKz22VyJ+22WmDL8bWLxQsvdVsunfjX6UUfVTfAoWQntjZtfF97/sDJ+7YG+yuQRhHYWdyCSt/lVp2F18TQLmx8I3crmPuzVcQqBmB3IIY5orwu4s4VDVJMtTTgg0nULIC4XjdDv80YDJBOAhHoxEFgTQybdT0Y9NZU5+IWXNIk7Ua9JWZ/5puYor8+QUariXL41ksa9nvOiBJYRP+2a+TKVD0vKpBbh8Gnm8ac38EvwQTJo3RjNN9y6caVh0XqUOtlFMwdWaIOF2sg5T5uzcsrDWKBTtaTTR09kJB56UDTyRGQvSXcp/gW5KByLxX0htlOTfbTzy2S7AWS6RfJ3gNJrsu1ZU37BMglfxBP+hK8Lc3coYcfdxeouABTbgMvbaWkCw1g28yt13cdCaZKynr9NapAmEHSnP5oFRYOw5aYopwXqtWRGHcLrn2WrW/nYZv/GgUnNer1SDMC+QLaK4tSp4grWIFu1FQHff2zfXNtYwqYsg0U2eSwNhqKYO8omAL5FEQQOi1g8KFExchhIJOky1LFooKGL6rI6R1jW4zWrN7FaeiWGXsmgW1Bjm0/GkZuGAvmf1FDYLWiZSo+hFM9DkiypoxbPjOou0YlTL8NZJr4Ipq7fsC5RnqmPCvchvYvG69Pfqbx3zMtzocRtLNcfZLDhceGK88GIyUOs5p3RQNTAL+7U4mbQDdMJm55OAneIDwgwC8jh3Ba6lKg2/NdVgNJZNc0VttKAkFcSrLK+SaVTH5mU1PY0wTAnbPmhGyJthVKrikS4CoY0gnz3itW2SsYjgGNvI0XTRDWsMZUZ9Oa1vwpwzUrpyBOqKZhkzfUWPZvOnT6Jg9lgzaxTNc3qjzu8tUSEBIL5NY= X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0437;5:StcD3TxqwaqYBq5LIBeJfWdZt0f4137x+N2IR+U7tA/bTts3Oef1XP3xapZo82d07a9a9DBx2NVWknR5B7GNfVw1AafptK0R71cS2GPRBMU/LcFx1YEwB7aZ7ByaL0xLP1s69voV6PJ6kI2BkZkY5g==;24:epuGurOzF3EyNfgzISIXYNsdSRnFSlMhy66KwZBV85lh91+aqoUrW3wweNlz4/8xoOuC1U0oGqqJ45Ri9U7FAzoLeBVzqWzeX81oWZfl9Ng=;20:muctDheBtRb4sM/Gt5FyF1tuU8KFc+862RjXwa4twxZLgE4ovetlaimwnEmi1d1ridhrQdW6k8U7WwH4wewdkZpFLWHbbPAFcYo8dbvT4ca2R3FXSOxPvqIlY0rIfGDVuqRop71ClR8guo70kBoKlhGY6ln8UFJbJMo4IQXwxthNpPvYHYnIkqSMHkpFuW+5008rnzMzmfaEgM5IAG/zW/jrZmtDqR+MZIZ7fv0LOtXabfsk1Y/SbzsIXGm7UeBI X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Mar 2016 06:11:20.7471 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR12MB0437 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2422 Lines: 89 Introduce trace events for AMD AVIC incomplete IPI vmexit, and AVIC unaccelerate access vmexit. Signed-off-by: Suravee Suthikulpanit --- arch/x86/kvm/trace.h | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ arch/x86/kvm/x86.c | 2 ++ 2 files changed, 59 insertions(+) diff --git a/arch/x86/kvm/trace.h b/arch/x86/kvm/trace.h index ad9f6a2..3c85a3d 100644 --- a/arch/x86/kvm/trace.h +++ b/arch/x86/kvm/trace.h @@ -1288,6 +1288,63 @@ TRACE_EVENT(kvm_hv_stimer_cleanup, __entry->vcpu_id, __entry->timer_index) ); +/* + * Tracepoint for AMD AVIC + */ +TRACE_EVENT(kvm_avic_incomplete_ipi, + TP_PROTO(u32 vcpu, u32 icrh, u32 icrl, u32 id, u32 index), + TP_ARGS(vcpu, icrh, icrl, id, index), + + TP_STRUCT__entry( + __field(u32, vcpu) + __field(u32, icrh) + __field(u32, icrl) + __field(u32, id) + __field(u32, index) + ), + + TP_fast_assign( + __entry->vcpu = vcpu; + __entry->icrh = icrh; + __entry->icrl = icrl; + __entry->id = id; + __entry->index = index; + ), + + TP_printk("vcpu=%#x, icrh:icrl=%#010x:%08x, id=%u, index=%u\n", + __entry->vcpu, __entry->icrh, __entry->icrl, + __entry->id, __entry->index) +); + +TRACE_EVENT(kvm_avic_unaccelerated_access, + TP_PROTO(u32 vcpu, u32 offset, bool ft, bool rw, u32 vec), + TP_ARGS(vcpu, offset, ft, rw, vec), + + TP_STRUCT__entry( + __field(u32, vcpu) + __field(u32, offset) + __field(bool, ft) + __field(bool, rw) + __field(u32, vec) + ), + + TP_fast_assign( + __entry->vcpu = vcpu; + __entry->offset = offset; + __entry->ft = ft; + __entry->rw = rw; + __entry->vec = vec; + ), + + TP_printk("vcpu=%#x, offset=%#x(%s), %s, %s, vec=%#x\n", + __entry->vcpu, + __entry->offset, + __print_symbolic(__entry->offset, kvm_trace_symbol_apic), + __entry->ft ? "trap" : "fault", + __entry->rw ? "write" : "read", + __entry->vec) +); + #endif /* _TRACE_KVM_H */ #undef TRACE_INCLUDE_PATH diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 4d2961d..775de1c 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -8395,3 +8395,5 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_write_tsc_offset); EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_ple_window); EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_pml_full); EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_pi_irte_update); +EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_avic_unaccelerated_access); +EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_avic_incomplete_ipi); -- 1.9.1