From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757413AbbLBCDi (ORCPT ); Tue, 1 Dec 2015 21:03:38 -0500 Received: from cdptpa-outbound-snat.email.rr.com ([107.14.166.231]:21852 "EHLO cdptpa-oedge-vip.email.rr.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753637AbbLBCDh (ORCPT ); Tue, 1 Dec 2015 21:03:37 -0500 Date: Tue, 1 Dec 2015 21:03:34 -0500 From: Steven Rostedt To: Andi Kleen Cc: x86@kernel.org, peterz@infradead.org, linux-kernel@vger.kernel.org, Andi Kleen Subject: Re: [PATCH 3/4] x86: Add trace point for MSR accesses Message-ID: <20151201210334.4a1f9ea1@grimm.local.home> In-Reply-To: <1449018060-1742-3-git-send-email-andi@firstfloor.org> References: <1449018060-1742-1-git-send-email-andi@firstfloor.org> <1449018060-1742-3-git-send-email-andi@firstfloor.org> X-Mailer: Claws Mail 3.13.0 (GTK+ 2.24.28; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-RR-Connecting-IP: 107.14.168.118:25 X-Cloudmark-Score: 0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 1 Dec 2015 17:00:59 -0800 Andi Kleen wrote: > From: Andi Kleen > > For debugging low level code interacting with the CPU > it is often useful to trace the MSR read/writes. This gives > a concise summary of PMU and other operations. > > perf has an ad-hoc way to do this using trace_printk, > but it's somewhat limited (and also now spews ugly boot > messages when enabled) > > Instead define real trace points for all MSR accesses. > > This adds three new trace points: read_msr and write_msr > and rdpmc. > > They also report if the access faulted (if *_safe is used) > > This allows filtering and triggering on specific > MSR values, which allows various more advanced > debugging techniques. > > All the values are well defined in the CPU documentation. > > The trace can be post processed with > Documentation/trace/postprocess/decode_msr.py > to add symbolic MSR names to the trace. > > I only added it to native MSR accesses in C, not paravirtualized > or in entry*.S (which is not too interesting) > > Originally the patch kit moved the MSRs out of line. > This uses an alternative approach recommended by Steven Rostedt > of only moving the trace calls out of line, but open coding the > access to the jump label. > > v2: > Move MSR trace events to arch/x86/include/asm/msr-trace.h > Signed-off-by: Andi Kleen > For the general tracing part. Acked-by: Steven Rostedt -- Steve