[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1210671688.3472.10.camel@dao.KWGR614>
Date: Tue, 13 May 2008 10:41:28 +0100
From: Gianni Tedesco <gxt@...nott.ac.uk>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: arges@...ux.vnet.ibm.com, Maynard Johnson <maynardj@...ibm.com>,
Vegard Nossum <vegard.nossum@...il.com>,
linux-kernel@...r.kernel.org, oprofile-list@...ts.sourceforge.net,
Mike Travis <travis@....com>
Subject: Re: oprofile BUG() in current kernel.
On Tue, 2008-05-13 at 01:40 -0700, Andrew Morton wrote:
> In trying to reprocude this on a uniprocessor machine, it seems that
> someone broke oprofile:
>
> /usr/bin/opcontrol: line 911: /dev/oprofile/0/enabled: No such file or directory
> /usr/bin/opcontrol: line 911: /dev/oprofile/0/event: No such file or directory
> /usr/bin/opcontrol: line 911: /dev/oprofile/0/count: No such file or directory
> /usr/bin/opcontrol: line 911: /dev/oprofile/0/kernel: No such file or directory
> /usr/bin/opcontrol: line 911: /dev/oprofile/0/user: No such file or directory
> /usr/bin/opcontrol: line 911: /dev/oprofile/0/unit_mask: No such file or directo
>
> sony:/home/akpm> l /dev/oprofile
> total 0
> drwxr-xr-x 1 root root 0 May 13 01:25 1
> -rw-r--r-- 1 root root 0 May 13 01:25 backtrace_depth
> -rw-r--r-- 1 root root 0 May 13 01:25 buffer
> -rw-r--r-- 1 root root 0 May 13 01:25 buffer_size
> -rw-r--r-- 1 root root 0 May 13 01:25 buffer_watershed
> -rw-r--r-- 1 root root 0 May 13 01:25 cpu_buffer_size
> -rw-r--r-- 1 root root 0 May 13 01:25 cpu_type
> -rw-rw-rw- 1 root root 0 May 13 01:25 dump
> -rw-r--r-- 1 root root 0 May 13 01:25 enable
> -rw-r--r-- 1 root root 0 May 13 01:25 pointer_size
> drwxr-xr-x 1 root root 0 May 13 01:25 stats
>
> Looks like the "0" got renamed to "1". Who did that?
>
>
>
> So then I try it on the old 2-way:
>
> No event named GLOBAL_POWER_EVENTS is available.
> No event named GLOBAL_POWER_EVENTS is available.
> No event named GLOBAL_POWER_EVENTS is available.
> No event named GLOBAL_POWER_EVENTS is available.
> No event named GLOBAL_POWER_EVENTS is available.
>
> so that got broken too.
I didn't try sampling those events, but CPU_CLK_UNHALTED (or whatever
default is now) seems to work fine on my 2-way... (when percpu patch is
reverted)
> I queued the revert of 608dfddd845da5ab6accef70154c8910529699f7,
> although that doesn't fix these regressions.
>
> I see no oops. And I don't see what's wrong with the fairly simple
> per-cpu conversion, so I'd rather not revert what appears to be a good
> patch when we don't understand what's going wrong.
>
>
> Grasping at straws, we have had problems with per-cpu variable
> initialisation in the past. Does this
>
> --- a/drivers/oprofile/cpu_buffer.c~a
> +++ a/drivers/oprofile/cpu_buffer.c
> @@ -27,7 +27,7 @@
> #include "buffer_sync.h"
> #include "oprof.h"
>
> -DEFINE_PER_CPU_SHARED_ALIGNED(struct oprofile_cpu_buffer, cpu_buffer);
> +DEFINE_PER_CPU_SHARED_ALIGNED(struct oprofile_cpu_buffer, cpu_buffer) = { };
>
> static void wq_sync_buffer(struct work_struct *work);
Nope, exact same bad paging request in kernel mode... probably the bug
is something deep in oprofile then?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists