WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

[Xen-users] Re: 3.0.0-rc2: Xen: powernow-k8: Kernel panic - not syncing:

To: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Subject: [Xen-users] Re: 3.0.0-rc2: Xen: powernow-k8: Kernel panic - not syncing: Attempted to kill init!
From: Tobias Diedrich <ranma+xen@xxxxxxxxxxxx>
Date: Tue, 14 Jun 2011 01:52:21 +0200
Cc: xen-users@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Delivery-date: Mon, 13 Jun 2011 16:53:55 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20110613215123.GA19117@xxxxxxxxxxxx>
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Mail-followup-to: Tobias Diedrich <ranma+xen@xxxxxxxxxxxx>, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>, xen-users@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <20110613202622.GC20616@xxxxxxxxxxxxxxxxx> <20110613215123.GA19117@xxxxxxxxxxxx>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.20 (2009-06-14)
Konrad Rzeszutek Wilk wrote:
> > [    5.523199] rtc_cmos 00:05: setting system clock to 2011-06-13 20:20:00 
> > UTC (1307996400)
> > [    5.523400] powernow-k8: Found 1 AMD Athlon(tm) 64 Processor 3700+ (1 
> > cpu cores) (version 2.20.00)
> > [    5.530956] powernow-k8: fid 0x2 (1000 MHz), vid 0x12
> > [    5.531072] powernow-k8: fid 0xa (1800 MHz), vid 0xa
> > [    5.531187] powernow-k8: fid 0xc (2000 MHz), vid 0x8
> > [    5.531301] powernow-k8: fid 0xe (2200 MHz), vid 0x8
> > [    5.531460] Marking TSC unstable due to cpufreq changes
> > [    5.531680] powernow-k8: fid trans failed, fid 0x2, curr 0x0
> > [    5.531802] BUG: unable to handle kernel paging request at 
> > ffff880807e07b78
> > [    5.531982] IP: [<ffffffff81479163>] cpufreq_stats_update+0x46/0x5b
> 
> For this one, you will have to fire out gdb and disassemble the code to
> figure out where it failed. Look for 'gdb vmlinux' and 'disassembly' on this
> mailing list - that should provide some hints.

Probably because of the 'fid trans failed' stat->last_index is -1
(or 0xffffffff because it's really an unsigned int):
[    5.721794] powernow-k8: fid trans failed, fid 0xa, curr 0x0
[    5.721909] cpufreq_stats_update: cpu=0 
[    5.721945]  max_state=4 last_index=-1
[    5.722191] ------------[ cut here ]------------
[    5.722305] kernel BUG at drivers/cpufreq/cpufreq_stats.c:71!

I added the BUG() there:
if (stat->last_index > stat->max_state * stat->max_state) BUG();

Index: linux-3.0-rc2-xen/drivers/cpufreq/cpufreq_stats.c
===================================================================
--- linux-3.0-rc2-xen.orig/drivers/cpufreq/cpufreq_stats.c      2011-06-14 
01:24:10.639010391 +0200
+++ linux-3.0-rc2-xen/drivers/cpufreq/cpufreq_stats.c   2011-06-14 
01:32:32.743101791 +0200
@@ -56,9 +56,20 @@
        struct cpufreq_stats *stat;
        unsigned long long cur_time;
 
+       printk(KERN_WARNING "cpufreq_stats_update: cpu=%d ", cpu);
+
+       if (cpu != 0) // only got one cpu in this particular system
+               BUG();
+
        cur_time = get_jiffies_64();
        spin_lock(&cpufreq_stats_lock);
        stat = per_cpu(cpufreq_stats_table, cpu);
+
+       printk(KERN_WARNING " max_state=%d last_index=%d\n", stat->max_state, 
stat->last_index);
+
+       if (stat->last_index > stat->max_state * stat->max_state)
+               BUG();
+
        if (stat->time_in_state)
                stat->time_in_state[stat->last_index] =
                        cputime64_add(stat->time_in_state[stat->last_index],

-- 
Tobias                                          PGP: http://8ef7ddba.uguu.de

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users