From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: trace_printk() support in trace-cmd Date: Sun, 12 Dec 2010 19:47:31 +0200 Message-ID: <4D050AB3.7070604@redhat.com> References: <4CE16941.3080008@redhat.com> <1289920433.30543.5.camel@gandalf.stny.rr.com> <4CEB9FCE.9020108@redhat.com> <1290522640.30543.306.camel@gandalf.stny.rr.com> <4CEBD1AE.7000203@redhat.com> <1290527132.30543.372.camel@gandalf.stny.rr.com> <4D04F9CC.3060908@redhat.com> <20101212173623.GB2478@ghostprotocols.net> <4D05096E.6000003@redhat.com> <20101212174317.GC2478@ghostprotocols.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Steven Rostedt , linux-trace-users@vger.kernel.org, KVM list , Masami Hiramatsu To: Arnaldo Carvalho de Melo Return-path: In-Reply-To: <20101212174317.GC2478@ghostprotocols.net> Sender: linux-trace-users-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 12/12/2010 07:43 PM, Arnaldo Carvalho de Melo wrote: > Em Sun, Dec 12, 2010 at 07:42:06PM +0200, Avi Kivity escreveu: > > On 12/12/2010 07:36 PM, Arnaldo Carvalho de Melo wrote: > > >Em Sun, Dec 12, 2010 at 06:35:24PM +0200, Avi Kivity escreveu: > > >> On 11/23/2010 05:45 PM, Steven Rostedt wrote: > > >> >Again, the work around is to replace your trace_printks() with > > >> >__trace_printk(_THIS_IP_, ...) or just modify the trace_printk() macro > > >> >in include/linux/kernel.h to always use the __trace_printk() version. > > >> > > >> This works; I'm using it for now (I tried to use 'perf probe', but I > > >> get unpredictable results, like null pointer derefs). > > > > > >Can you tell us which functions, environment, etc? > > > > Something around 2.6.27-rc4; example functions are FNAME(fetch) in > > arch/x86/kvm/paging_tmpl.h; compiled modular (which was Steven's > > guess as to why it fails). > > > > (note, the failure is with trace-cmd, not /sys/kernel/debug/tracing). > > I mean the "I tried to use 'perf probe'" part. Well, same, more or less. perf probe -m kvm --add 'fetch_access=paging64_fetch pt_access=gw->pt_access pte_access=gw->pte_access dirty' would return garbage for gw->*, and the log would show the exception handler called. gw is most certainly valid. -- error compiling committee.c: too many arguments to function