From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [PATCH v3 3/3] KVM: perf: kvm events analysis tool Date: Thu, 09 Feb 2012 11:07:35 +0800 Message-ID: <4F333877.8050508@linux.vnet.ibm.com> References: <4F3121DE.7020502@linux.vnet.ibm.com> <4F31225C.1020703@gmail.com> <4F316596.3060509@gmail.com> <4F3212CA.4080208@linux.vnet.ibm.com> <4F32861C.5020907@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Xiao Guangrong , Avi Kivity , Marcelo Tosatti , Ingo Molnar , Arnaldo Carvalho de Melo , Stefan Hajnoczi , LKML , KVM To: David Ahern Return-path: In-Reply-To: <4F32861C.5020907@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 02/08/2012 10:26 PM, David Ahern wrote: >>>> +static int kvm_events_report(int vcpu) >>>> +{ >>>> + init_kvm_event_record(); >>>> + init_kvm_tid_to_pid(); >>>> + verify_vcpu(vcpu); >>>> + select_key(); >>>> + register_kvm_events_ops(); >>>> + setup_pager(); >>> >>> I believe setup_pager is handled by perf.c >>> >> >> >> Hmm, i did not find it, could you please tell me where is it? >> And, setup_pager is also used in other tools such 'perf sched', >> 'perf lock'... >> > > run_builtin() --> commit_pager_choice() --> setup_pager() > > It could be that the other commands need to be updated. > David, Thanks for your review and explanation! The code of commit_pager_choice(): static void commit_pager_choice(void) { switch (use_pager) { case 0: setenv("PERF_PAGER", "cat", 1); break; case 1: /* setup_pager(); */ break; default: break; } } setup_pager() is not called. And it looks like kvm-events can not show the result properly if i try to remove setup_pager.