2008-10-09 14:09:45

by folkert

[permalink] [raw]
Subject: [2.6.25 on Power5 64bit] badness in fs/sysfs/dir.c:424

Hi,

While running my modprobe-killerscript I got the following in dmesg:

[1472698.427389] sysfs: duplicate filename 'cpufreq-clamp' can not be created
[1472698.427422] ------------[ cut here ]------------
[1472698.427434] Badness at fs/sysfs/dir.c:424
[1472698.427446] NIP: c00000000014ce60 LR: c00000000014ce5c CTR: 80000000001c5840
[1472698.427463] REGS: c0000000fccaf6f0 TRAP: 0700 Not tainted (2.6.25-2-powerpc64)
[1472698.427474] MSR: 8000000000029032 <EE,ME,IR,DR> CR: 22022424 XER: 00000001
[1472698.427518] TASK = c0000000fcf4ccd0[8434] 'modprobe' THREAD: c0000000fccac000 CPU: 3
[1472698.427531] GPR00: c00000000014ce5c c0000000fccaf970 c000000000549a30 0000000000000051
[1472698.427551] GPR04: 0000000000000000 0000000000000000 0000000000000000 c0000000fbc52c50
[1472698.427569] GPR08: 0000000000000002 c0000000004b0190 c0000000fcafbb58 c0000000004b0180
[1472698.427588] GPR12: 0000000000004000 c0000000004a2a80 d00000000003e340 0000000000000000
[1472698.427609] GPR16: d00000000003e300 0000000000000009 000000000000003a d00000000002c728
[1472698.427629] GPR20: d00000000003db04 000000000000003a 0000000000000000 d00000000003c000
[1472698.427650] GPR24: 000000000000001e d00000000003dc00 000000000000001f c0000000fccafa70
[1472698.427670] GPR28: fffffffffffffff4 c0000000fccafa70 c0000000004ee510 c0000000fc6c4410
[1472698.427711] NIP [c00000000014ce60] .sysfs_add_one+0x4c/0xe0
[1472698.427731] LR [c00000000014ce5c] .sysfs_add_one+0x48/0xe0
[1472698.427747] Call Trace:
[1472698.427792] [c0000000fccaf970] [c00000000014ce5c] .sysfs_add_one+0x48/0xe0 (unreliable)
[1472698.427821] [c0000000fccafa00] [c00000000014c67c] .sysfs_add_file+0x6c/0xd8
[1472698.427850] [c0000000fccafac0] [c000000000271f88] .device_create_file+0x20/0x3c
[1472698.427877] [c0000000fccafb40] [d000000000035b00] .wf_register_control+0xe8/0x148 [windfarm_core]
[1472698.427911] [c0000000fccafbd0] [d00000000002c1e4] .wf_cpufreq_clamp_init+0x9c/0x298 [windfarm_cpufreq_clamp]
[1472698.427943] [c0000000fccafc50] [c0000000000899ec] .sys_init_module+0x1960/0x1b38
[1472698.427974] [c0000000fccafe30] [c00000000000872c] syscall_exit+0x0/0x40
[1472698.427996] Instruction dump:
[1472698.428009] f821ff71 7c9f2378 60000000 e8630000 e8840018 4bffff6d 2fa30000 419e0020
[1472698.428035] e87e8018 e89f0018 4bf0e479 60000000 <0fe00000> 3860ffef 48000070 e97d0000
[1472698.428063] windfarm: device_create_file failed for cpufreq-clamp

This is in an LPAR on an IBM Power5, 8 virtual processors (4 physical - don't ask :-]),
4GB of RAM, everything virtual (e.g. disks, network).


Folkert van Heusden

--
----------------------------------------------------------------------
Phone: +31-6-41278122, PGP-key: 1F28D8AE, http://www.vanheusden.com


2008-10-09 19:27:28

by Randy Dunlap

[permalink] [raw]
Subject: Re: [2.6.25 on Power5 64bit] badness in fs/sysfs/dir.c:424

On Thu, 9 Oct 2008 16:09:34 +0200 Folkert van Heusden wrote:

> Hi,
>
> While running my modprobe-killerscript I got the following in dmesg:

Hi,
Where are your scripts, please?

---
~Randy

2008-10-09 19:40:56

by folkert

[permalink] [raw]
Subject: Re: [2.6.25 on Power5 64bit] badness in fs/sysfs/dir.c:424

> > While running my modprobe-killerscript I got the following in dmesg:
>
> Where are your scripts, please?

I've got two versions. The one one intel is:
----------------------------------------------------------------------
#! /usr/bin/perl -w

use POSIX;

@mods = <>;

for(;;)
{
$n = floor(rand(@mods));

print $mods[$n]."\n";
if (rand(2) < 1.0)
{
system('rmmod ' . $mods[$n]);
}
else
{
system('modprobe ' . $mods[$n]);
}
}
----------------------------------------------------------------------
invoked as:
lsmod | awk '{ print $1; }' | ./pyk-perl.mod


The script I used on the power5-platform is:
----------------------------------------------------------------------
#! /usr/bin/perl -w

use POSIX;

@mods = <>;

fork();
fork();

srand(time() ^ getpid() ^ getppid());

for(;;)
{
$n = floor(rand(@mods));

print $mods[$n]."\n";
if (rand(2) < 1.0)
{
system('rmmod ' . $mods[$n]);
}
else
{
system('modprobe ' . $mods[$n]);
}
}
----------------------------------------------------------------------
invoked as:
lsmod | grep -v -e ibmveth -v -e windfarm_cpufreq_clamp | awk '{ print $1; }' | ./pyk-perl.mod

I'm removing ibmveth from the list or else I would loose connection
during tests and windfarm_cpufreq_clamp because the script would hang
during a modprobe on that. Maybe something to investigate later.


Folkert van Heusden

--
To MultiTail einai ena polymorfiko ergaleio gia ta logfiles kai tin
eksodo twn entolwn. Prosferei: filtrarisma, xrwmatismo, sygxwneysi,
diaforetikes provoles. http://www.vanheusden.com/multitail/
----------------------------------------------------------------------
Phone: +31-6-41278122, PGP-key: 1F28D8AE, http://www.vanheusden.com