Re: [patch] Re: [perf] Finding uninstalled modules Was Re: mailinglist for trace users

From: Avi Kivity
Date: Wed Sep 23 2009 - 10:01:27 EST


On 09/23/2009 04:50 PM, Mike Galbraith wrote:
On Wed, 2009-09-23 at 16:10 +0300, Avi Kivity wrote:
On 09/23/2009 03:58 PM, Avi Kivity wrote:On 09/23/2009 03:58 PM, Avi
Kivity wrote:
Not for me. 'perf report', for example, shows

63.08% qemu-system-x86
[kernel] [k] packet_exit
4.71% qemu-system-x86
[kernel] [k] hpet_next_event
4.38% init
[kernel] [k]
mwait_idle_with_hints

While 'perf top' still shows vmx_vcpu_run.

strace says:

getcwd("/home/avi/kvm/linux-2.6"..., 4096) = 24
...
[no chdir]
...
open("kernel/arch/x86/kvm/kvm-intel.ko", O_RDONLY) = -1 ENOENT (No
such file or directory)
*blink*

That "kernel/" looks like it was meant for /lib/modules, not a kernel
tree. If I run 'perf report' from /lib/modules/2.6.31 I see vmx_vcpu_run.
So I need what's in your modules.dep to figure out where the rest of the
path went.


Mine says:

kernel/arch/x86/kvm/kvm.ko:
kernel/arch/x86/kvm/kvm-intel.ko: kernel/arch/x86/kvm/kvm.ko

Which is reasonable for /lib/modules/2.6.31, not for a source directory.

/lib/modules/2.6.32-tip-smp/kernel/arch/x86/kvm/kvm-intel.ko

static int mod_dso__load_module_paths(struct mod_dso *self)
{
struct utsname uts;
int count = 0, len;
char *line = NULL;
FILE *file;
char *path;
size_t n;

if (uname(&uts)< 0)
goto out_failure;

len = strlen("/lib/modules/");
len += strlen(uts.release);
len += strlen("/modules.dep");

path = calloc(1, len);

len + 1

if (path == NULL)
goto out_failure;

strcat(path, "/lib/modules/");
strcat(path, uts.release);
strcat(path, "/modules.dep");

file = fopen(path, "r");


--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/