mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* 2.6.26-rc9-mmotm oops - suspect kernel-schedc-add-missing-attr-parameter.patch
@ 2008-07-13  9:45 Valdis.Kletnieks
  2008-07-14  3:19 ` Valdis.Kletnieks
  0 siblings, 1 reply; 5+ messages in thread
From: Valdis.Kletnieks @ 2008-07-13  9:45 UTC (permalink / raw)
  To: Andrew Morton, Takashi Iwai; +Cc: linux-kernel, Ingo Molnar, Stephen Rothwell

[-- Attachment #1: Type: text/plain, Size: 3565 bytes --]

kernel-schedc-add-missing-attr-parameter.patch is my leading suspect, as it's
the last thing to poke around in the failing code...

My /etc/rc.local had this in it:

echo 1 > /sys/devices/system/cpu/sched_mc_power_savings

Which got me an oops:

[   84.048766] BUG: unable to handle kernel NULL pointer dereference at 0000000000000002
[   84.064254] IP: [<ffffffff8023092c>] sched_mc_power_savings_store+0x13/0x41
[   84.069253] PGD 7416d067 PUD 7438a067 PMD 0 
[   84.069253] Oops: 0000 [2] PREEMPT SMP 
[   84.069253] last sysfs file: /sys/devices/system/cpu/sched_mc_power_savings
[   84.069253] CPU 1 
[   84.069253] Modules linked in: irnet ppp_generic slhc irtty_sir sir_dev ircomm_tty ircomm irda crc_ccitt coretemp nf_conntrack_ftp xt_pkttype ipt_REJECT ipt_osf nf_conntrack_ipv4 xt_ipisforif ipt_recent ipt_LOG xt_u32 iptable_filter ip_tables xt_tcpudp nf_conntrack_ipv6 xt_state nf_conntrack ip6t_LOG xt_limit ip6table_filter ip6_tables x_tables sha256_generic aes_generic rtc acpi_cpufreq tpm_tis tpm tpm_bios pcmcia arc4 ecb dcdbas iwl3945 yenta_socket rfkill rsrc_nonstatic mac80211 gspca_spca561 pcmcia_core iTCO_wdt gspca_main ohci1394 video led_class compat_ioctl32 ieee1394 thermal tg3 iTCO_vendor_support output cfg80211 videodev firmware_class processor v4l1_compat libphy ac intel_agp button battery snd_hda_intel [last unloaded: microcode]
[   84.069253] Pid: 2649, comm: S99local Tainted: G      D   2.6.26-rc9-mm1 #2
[   84.069253] RIP: 0010:[<ffffffff8023092c>]  [<ffffffff8023092c>] sched_mc_power_savings_store+0x13/0x41
[   84.069253] RSP: 0018:ffff8800742ffe88  EFLAGS: 00010296
[   84.069253] RAX: fffffffffffffffb RBX: 0000000000000002 RCX: ffffffffffffffea
[   84.069253] RDX: 0000000000000002 RSI: ffff880074164000 RDI: ffffffff8072f850
[   84.069253] RBP: ffff8800742ffe98 R08: ffffffff80230919 R09: ffff880074164000
[   84.069253] R10: 000000000007050c R11: ffff8800742ffea8 R12: ffff88007433ff00
[   84.069253] R13: ffff88007f83bd78 R14: 00000000ffffffed R15: ffffffff8072f8c0
[   84.069253] FS:  00007f6fac7b96f0(0000) GS:ffff88007f877340(0000) knlGS:0000000000000000
[   84.069253] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   84.069253] CR2: 0000000000000002 CR3: 00000000742be000 CR4: 00000000000006e0
[   84.069253] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   84.069253] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[   84.069254] Process S99local (pid: 2649, threadinfo ffff8800742fe000, task ffff880074134bc0)
[   84.069254] Stack:  ffff8800742ffea8 ffffffff8072f0d0 ffff8800742ffea8 ffffffff803f25f3
[   84.069254]  ffff8800742ffef8 ffffffff802ff31c ffff8800742fff48 ffff88007433ff20
[   84.069254]  ffffffff8072f0d0 ffff88007c805300 ffff8800742fff48 00007f6fac7cf000
[   84.069254] Call Trace:
[   84.069254]  [<ffffffff803f25f3>] sysdev_class_store+0x24/0x26
[   84.069254]  [<ffffffff802ff31c>] sysfs_write_file+0xe4/0x119
[   84.069254]  [<ffffffff802ad89d>] vfs_write+0xdc/0x188
[   84.069254]  [<ffffffff802ada21>] sys_write+0x47/0x84
[   84.069254]  [<ffffffff8020c4a0>] tracesys+0xd5/0xda
[   84.069254] 
[   84.069254] 
[   84.069254] Code: c7 40 7e 6e 80 89 c3 e8 09 c3 32 00 e8 d1 93 00 00 89 d8 41 58 5b c9 c3 55 48 89 e5 53 48 89 cb 48 83 ec 08 48 c7 c1 ea ff ff ff <8a> 12 8d 42 d0 3c 01 77 1d 31 c0 80 fa 31 0f 94 c0 89 05 c9 6a 
[   84.069254] RIP  [<ffffffff8023092c>] sched_mc_power_savings_store+0x13/0x41
[   84.069254]  RSP <ffff8800742ffe88>
[   84.069254] CR2: 0000000000000002
[   84.839443] ---[ end trace 1645799174bde4a2 ]---

Any ideas?


[-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 2.6.26-rc9-mmotm oops - suspect kernel-schedc-add-missing-attr-parameter.patch
  2008-07-13  9:45 2.6.26-rc9-mmotm oops - suspect kernel-schedc-add-missing-attr-parameter.patch Valdis.Kletnieks
@ 2008-07-14  3:19 ` Valdis.Kletnieks
  2008-07-14  4:02   ` Andrew Morton
  0 siblings, 1 reply; 5+ messages in thread
From: Valdis.Kletnieks @ 2008-07-14  3:19 UTC (permalink / raw)
  To: Andrew Morton, Takashi Iwai; +Cc: linux-kernel, Ingo Molnar, Stephen Rothwell

[-- Attachment #1: Type: text/plain, Size: 9005 bytes --]

On Sun, 13 Jul 2008 05:45:53 EDT, Valdis.Kletnieks@vt.edu said:
> --==_Exmh_1215942353_3043P
> Content-Type: text/plain; charset=us-ascii
> 
> kernel-schedc-add-missing-attr-parameter.patch is my leading suspect, as it's
> the last thing to poke around in the failing code...
> 
> My /etc/rc.local had this in it:
> 
> echo 1 > /sys/devices/system/cpu/sched_mc_power_savings
> 
> Which got me an oops:

powertop 1.11 just pulled another oops on me, that looks related:

[ 9802.991006] BUG: unable to handle kernel paging request at ffffffff802291c0
[ 9802.991006] IP: [<ffffffff8037fba0>] number+0x1e6/0x216
[ 9802.991006] PGD 203067 PUD 207063 PMD 7f84c163 PTE 229161
[ 9802.991006] Oops: 0003 [1] PREEMPT SMP 
[ 9802.991006] last sysfs file: /sys/devices/system/cpu/sched_mc_power_savings
[ 9802.991006] CPU 0 
[ 9802.991006] Modules linked in: irnet ppp_generic slhc irtty_sir sir_dev ircomm_tty ircomm irda crc_ccitt coretemp nf_conntrack_ftp xt_pkttype ipt_REJECT ipt_osf nf_conntrack_ipv4 xt_ipisforif ipt_recent ipt_LOG xt_u32 iptable_filter ip_tables xt_tcpudp nf_conntrack_ipv6 xt_state nf_conntrack ip6t_LOG xt_limit ip6table_filter ip6_tables x_tables sha256_generic aes_generic rtc acpi_cpufreq tpm_tis tpm tpm_bios pcmcia arc4 ecb iwl3945 yenta_socket rsrc_nonstatic rfkill pcmcia_core dcdbas ohci1394 nvidia(P) iTCO_wdt ieee1394 mac80211 video iTCO_vendor_support snd_hda_intel intel_agp output led_class thermal tg3 processor ac battery firmware_class button cfg80211 libphy [last unloaded: microcode]
[ 9802.991006] Pid: 21426, comm: powertop Tainted: P          2.6.26-rc9-mm1 #2
[ 9802.991006] RIP: 0010:[<ffffffff8037fba0>]  [<ffffffff8037fba0>] number+0x1e6/0x216
[ 9802.991006] RSP: 0018:ffff88005188dba8  EFLAGS: 00010293
[ 9802.991006] RAX: 0000000000000030 RBX: ffff88005188ddb8 RCX: 0000000000000000
[ 9802.991006] RDX: 00000000fffffffc RSI: 0000000000000000 RDI: 0000000000000000
[ 9802.991006] RBP: ffff88005188dc48 R08: 00000000ffffffff R09: 0000000000000000
[ 9802.991006] R10: ffffffffffffffff R11: 000000000000000a R12: ffffffff802291c0
[ 9802.991006] R13: 00000000ffffffff R14: 0000000000000000 R15: 0000000000000000
[ 9802.991006] FS:  00007f85234d76f0(0000) GS:ffffffff80770ec0(0000) knlGS:0000000000000000
[ 9802.991006] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 9802.991006] CR2: ffffffff802291c0 CR3: 0000000067285000 CR4: 00000000000006e0
[ 9802.991006] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 9802.991006] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 9802.991006] Process powertop (pid: 21426, threadinfo ffff88005188c000, task ffff88005afe1600)
[ 9802.991006] Stack:  ffffffff80348e86 0000000000000001 ffff88005188dbf8 00ffffffffffffff
[ 9802.991006]  ffffffff80349430 ffffffff80349e86 0000000000000001 ffff88006bc43fb0
[ 9802.991006]  0000000000000203 000000000000002d ffff88005188dc18 ffffffff80561638
[ 9802.991006] Call Trace:
[ 9802.991006]  [<ffffffff80348e86>] ? avc_has_perm_noaudit+0x4e/0x62b
[ 9802.991006]  [<ffffffff80349430>] ? avc_has_perm_noaudit+0x5f8/0x62b
[ 9802.991006]  [<ffffffff80349e86>] ? avc_has_perm+0x31/0x60
[ 9802.991006]  [<ffffffff80561638>] ? sub_preempt_count+0x60/0x75
[ 9802.991006]  [<ffffffff8025a95a>] ? __lock_acquire+0x6e/0x1131
[ 9802.991006]  [<ffffffff802291c0>] ? sched_mc_power_savings_show+0x0/0x1f
[ 9802.991006]  [<ffffffff803808dc>] vsnprintf+0x59e/0x5f0
[ 9802.991006]  [<ffffffff802291c0>] ? sched_mc_power_savings_show+0x0/0x1f
[ 9802.991006]  [<ffffffff8025903b>] ? trace_hardirqs_off+0xd/0xf
[ 9802.991006]  [<ffffffff8029b1b1>] ? vma_adjust+0x239/0x475
[ 9802.991006]  [<ffffffff80281c68>] ? trace_preempt_on+0x58/0x127
[ 9802.991006]  [<ffffffff8055e52c>] ? _spin_unlock+0x30/0x60
[ 9802.991006]  [<ffffffff8029b37e>] ? vma_adjust+0x406/0x475
[ 9802.991006]  [<ffffffff802816fd>] ? trace_preempt_off+0x3c/0x120
[ 9802.991006]  [<ffffffff80281c68>] ? trace_preempt_on+0x58/0x127
[ 9802.991006]  [<ffffffff8028a344>] ? get_page_from_freelist+0x4eb/0x5ff
[ 9802.991006]  [<ffffffff8028a63d>] ? __alloc_pages_internal+0x10b/0x48f
[ 9802.991006]  [<ffffffff80561638>] ? sub_preempt_count+0x60/0x75
[ 9802.991006]  [<ffffffff8028a367>] ? get_page_from_freelist+0x50e/0x5ff
[ 9802.991006]  [<ffffffff80380996>] sprintf+0x68/0x6a
[ 9802.991006]  [<ffffffff802ffd67>] ? sysfs_get_active+0x6b/0x87
[ 9802.991006]  [<ffffffff802291db>] sched_mc_power_savings_show+0x1b/0x1f
[ 9802.991006]  [<ffffffff803f25cd>] sysdev_class_show+0x20/0x22
[ 9802.991006]  [<ffffffff802ff40b>] sysfs_read_file+0xba/0x13c
[ 9802.991006]  [<ffffffff802adb37>] vfs_read+0xd9/0x186
[ 9802.991006]  [<ffffffff802adcbc>] sys_read+0x47/0x82
[ 9802.991006]  [<ffffffff8020c4a0>] tracesys+0xd5/0xda
[ 9802.991006] 
[ 9802.991006] 
[ 9802.991006] Code: 24 49 ff c4 ff ca 79 f0 eb 0d 4d 39 d4 73 05 41 c6 04 24 30 49 ff c4 ff c9 39 cf 7e ed eb 13 4d 39 d4 73 0b 48 63 c7 8a 44 05 80 <41> 88 04 24 49 ff c4 ff cf 79 e9 eb 0d 4d 39 d4 73 05 41 c6 04 
[ 9802.991006] RIP  [<ffffffff8037fba0>] number+0x1e6/0x216
[ 9802.991006]  RSP <ffff88005188dba8>
[ 9802.991006] CR2: ffffffff802291c0
[ 9802.991006] ---[ end trace 99d439c20d808858 ]---
[ 9802.991006] BUG: sleeping function called from invalid context at kernel/rwsem.c:21
[ 9802.991006] in_atomic():0, irqs_disabled():1
[ 9802.991006] INFO: lockdep is turned off.
[ 9802.991006] irq event stamp: 0
[ 9802.991006] hardirqs last  enabled at (0): [<0000000000000000>] 0x0
[ 9802.991006] hardirqs last disabled at (0): [<ffffffff80236b1d>] copy_process+0x466/0x14fa
[ 9802.991006] softirqs last  enabled at (0): [<ffffffff80236b1d>] copy_process+0x466/0x14fa
[ 9802.991006] softirqs last disabled at (0): [<0000000000000000>] 0x0
[ 9802.991006] Pid: 21426, comm: powertop Tainted: P      D   2.6.26-rc9-mm1 #2
[ 9802.991006] 
[ 9802.991006] Call Trace:
[ 9802.991006]  [<ffffffff80258020>] ? print_irqtrace_events+0x10a/0x10f
[ 9802.991006]  [<ffffffff8022f9a5>] __might_sleep+0x107/0x109
[ 9802.991006]  [<ffffffff8055cdb8>] down_read+0x1d/0x45
[ 9802.991006]  [<ffffffff80266732>] acct_collect+0x42/0x1a4
[ 9802.991006]  [<ffffffff8023c0cf>] do_exit+0x2fe/0x91a
[ 9802.991006]  [<ffffffff8055f35c>] oops_begin+0x0/0x90
[ 9802.991006]  [<ffffffff802291c0>] ? sched_mc_power_savings_show+0x0/0x1f
[ 9802.991006]  [<ffffffff805614fc>] do_page_fault+0x92c/0xa08
[ 9802.991006]  [<ffffffff80281c68>] ? trace_preempt_on+0x58/0x127
[ 9802.991006]  [<ffffffff80348e86>] ? avc_has_perm_noaudit+0x4e/0x62b
[ 9802.991006]  [<ffffffff80281c68>] ? trace_preempt_on+0x58/0x127
[ 9802.991006]  [<ffffffff80349408>] ? avc_has_perm_noaudit+0x5d0/0x62b
[ 9802.991006]  [<ffffffff80349e86>] ? avc_has_perm+0x31/0x60
[ 9802.991006]  [<ffffffff80561638>] ? sub_preempt_count+0x60/0x75
[ 9802.991006]  [<ffffffff8034942b>] ? avc_has_perm_noaudit+0x5f3/0x62b
[ 9802.991006]  [<ffffffff8025a95a>] ? __lock_acquire+0x6e/0x1131
[ 9802.991006]  [<ffffffff8025a95a>] ? __lock_acquire+0x6e/0x1131
[ 9802.991006]  [<ffffffff802291c0>] ? sched_mc_power_savings_show+0x0/0x1f
[ 9802.991006]  [<ffffffff8055ec7d>] error_exit+0x0/0xa9
[ 9802.991006]  [<ffffffff802291c0>] ? sched_mc_power_savings_show+0x0/0x1f
[ 9802.991006]  [<ffffffff8037fba0>] ? number+0x1e6/0x216
[ 9802.991006]  [<ffffffff80348e86>] ? avc_has_perm_noaudit+0x4e/0x62b
[ 9802.991006]  [<ffffffff80349430>] ? avc_has_perm_noaudit+0x5f8/0x62b
[ 9802.991006]  [<ffffffff80349e86>] ? avc_has_perm+0x31/0x60
[ 9802.991006]  [<ffffffff80561638>] ? sub_preempt_count+0x60/0x75
[ 9802.991006]  [<ffffffff8025a95a>] ? __lock_acquire+0x6e/0x1131
[ 9802.991006]  [<ffffffff802291c0>] ? sched_mc_power_savings_show+0x0/0x1f
[ 9802.991006]  [<ffffffff803808dc>] vsnprintf+0x59e/0x5f0
[ 9802.991006]  [<ffffffff802291c0>] ? sched_mc_power_savings_show+0x0/0x1f
[ 9802.991006]  [<ffffffff8025903b>] ? trace_hardirqs_off+0xd/0xf
[ 9802.991006]  [<ffffffff8029b1b1>] ? vma_adjust+0x239/0x475
[ 9802.991006]  [<ffffffff80281c68>] ? trace_preempt_on+0x58/0x127
[ 9802.991006]  [<ffffffff8055e52c>] ? _spin_unlock+0x30/0x60
[ 9802.991006]  [<ffffffff8029b37e>] ? vma_adjust+0x406/0x475
[ 9802.991006]  [<ffffffff802816fd>] ? trace_preempt_off+0x3c/0x120
[ 9802.991006]  [<ffffffff80281c68>] ? trace_preempt_on+0x58/0x127
[ 9802.991006]  [<ffffffff8028a344>] ? get_page_from_freelist+0x4eb/0x5ff
[ 9802.991006]  [<ffffffff8028a63d>] ? __alloc_pages_internal+0x10b/0x48f
[ 9802.991006]  [<ffffffff80561638>] ? sub_preempt_count+0x60/0x75
[ 9802.991006]  [<ffffffff8028a367>] ? get_page_from_freelist+0x50e/0x5ff
[ 9802.991006]  [<ffffffff80380996>] sprintf+0x68/0x6a
[ 9802.991006]  [<ffffffff802ffd67>] ? sysfs_get_active+0x6b/0x87
[ 9802.991006]  [<ffffffff802291db>] sched_mc_power_savings_show+0x1b/0x1f
[ 9802.991006]  [<ffffffff803f25cd>] sysdev_class_show+0x20/0x22
[ 9802.991006]  [<ffffffff802ff40b>] sysfs_read_file+0xba/0x13c
[ 9802.991006]  [<ffffffff802adb37>] vfs_read+0xd9/0x186
[ 9802.991006]  [<ffffffff802adcbc>] sys_read+0x47/0x82
[ 9802.991006]  [<ffffffff8020c4a0>] tracesys+0xd5/0xda
[ 9802.991006] 


[-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 2.6.26-rc9-mmotm oops - suspect kernel-schedc-add-missing-attr-parameter.patch
  2008-07-14  3:19 ` Valdis.Kletnieks
@ 2008-07-14  4:02   ` Andrew Morton
  2008-07-15 11:11     ` Takashi Iwai
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2008-07-14  4:02 UTC (permalink / raw)
  To: Valdis.Kletnieks
  Cc: Takashi Iwai, linux-kernel, Ingo Molnar, Stephen Rothwell

On Sun, 13 Jul 2008 23:19:01 -0400 Valdis.Kletnieks@vt.edu wrote:

> On Sun, 13 Jul 2008 05:45:53 EDT, Valdis.Kletnieks@vt.edu said:
> > --==_Exmh_1215942353_3043P
> > Content-Type: text/plain; charset=us-ascii
> > 
> > kernel-schedc-add-missing-attr-parameter.patch is my leading suspect, as it's
> > the last thing to poke around in the failing code...
> > 
> > My /etc/rc.local had this in it:
> > 
> > echo 1 > /sys/devices/system/cpu/sched_mc_power_savings
> > 
> > Which got me an oops:
> 
> powertop 1.11 just pulled another oops on me, that looks related:
> 
> [ 9802.991006] BUG: unable to handle kernel paging request at ffffffff802291c0
> [ 9802.991006] IP: [<ffffffff8037fba0>] number+0x1e6/0x216
> [ 9802.991006] PGD 203067 PUD 207063 PMD 7f84c163 PTE 229161
> [ 9802.991006] Oops: 0003 [1] PREEMPT SMP 
> [ 9802.991006] last sysfs file: /sys/devices/system/cpu/sched_mc_power_savings
> [ 9802.991006] CPU 0 
> [ 9802.991006] Modules linked in: irnet ppp_generic slhc irtty_sir sir_dev ircomm_tty ircomm irda crc_ccitt coretemp nf_conntrack_ftp xt_pkttype ipt_REJECT ipt_osf nf_conntrack_ipv4 xt_ipisforif ipt_recent ipt_LOG xt_u32 iptable_filter ip_tables xt_tcpudp nf_conntrack_ipv6 xt_state nf_conntrack ip6t_LOG xt_limit ip6table_filter ip6_tables x_tables sha256_generic aes_generic rtc acpi_cpufreq tpm_tis tpm tpm_bios pcmcia arc4 ecb iwl3945 yenta_socket rsrc_nonstatic rfkill pcmcia_core dcdbas ohci1394 nvidia(P) iTCO_wdt ieee1394 mac80211 video iTCO_vendor_support snd_hda_intel intel_agp output led_class thermal tg3 processor ac battery firmware_class button cfg80211 libphy [last unloaded: microcode]
> [ 9802.991006] Pid: 21426, comm: powertop Tainted: P          2.6.26-rc9-mm1 #2
> [ 9802.991006] RIP: 0010:[<ffffffff8037fba0>]  [<ffffffff8037fba0>] number+0x1e6/0x216
> [ 9802.991006] RSP: 0018:ffff88005188dba8  EFLAGS: 00010293
> [ 9802.991006] RAX: 0000000000000030 RBX: ffff88005188ddb8 RCX: 0000000000000000
> [ 9802.991006] RDX: 00000000fffffffc RSI: 0000000000000000 RDI: 0000000000000000
> [ 9802.991006] RBP: ffff88005188dc48 R08: 00000000ffffffff R09: 0000000000000000
> [ 9802.991006] R10: ffffffffffffffff R11: 000000000000000a R12: ffffffff802291c0
> [ 9802.991006] R13: 00000000ffffffff R14: 0000000000000000 R15: 0000000000000000
> [ 9802.991006] FS:  00007f85234d76f0(0000) GS:ffffffff80770ec0(0000) knlGS:0000000000000000
> [ 9802.991006] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> [ 9802.991006] CR2: ffffffff802291c0 CR3: 0000000067285000 CR4: 00000000000006e0
> [ 9802.991006] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> [ 9802.991006] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> [ 9802.991006] Process powertop (pid: 21426, threadinfo ffff88005188c000, task ffff88005afe1600)
> [ 9802.991006] Stack:  ffffffff80348e86 0000000000000001 ffff88005188dbf8 00ffffffffffffff
> [ 9802.991006]  ffffffff80349430 ffffffff80349e86 0000000000000001 ffff88006bc43fb0
> [ 9802.991006]  0000000000000203 000000000000002d ffff88005188dc18 ffffffff80561638
> [ 9802.991006] Call Trace:
> [ 9802.991006]  [<ffffffff80348e86>] ? avc_has_perm_noaudit+0x4e/0x62b
> [ 9802.991006]  [<ffffffff80349430>] ? avc_has_perm_noaudit+0x5f8/0x62b
> [ 9802.991006]  [<ffffffff80349e86>] ? avc_has_perm+0x31/0x60
> [ 9802.991006]  [<ffffffff80561638>] ? sub_preempt_count+0x60/0x75
> [ 9802.991006]  [<ffffffff8025a95a>] ? __lock_acquire+0x6e/0x1131
> [ 9802.991006]  [<ffffffff802291c0>] ? sched_mc_power_savings_show+0x0/0x1f
> [ 9802.991006]  [<ffffffff803808dc>] vsnprintf+0x59e/0x5f0
> [ 9802.991006]  [<ffffffff802291c0>] ? sched_mc_power_savings_show+0x0/0x1f

hm, yes, I'd say that you have fingered the appropriate patch.  But
without that patch, the warnings which it fixes reappear, so we're
busted either way.

For now I think I'll just do this:

--- a/kernel/sched.c~kernel-schedc-add-missing-attr-parameter-fix
+++ a/kernel/sched.c
@@ -7742,6 +7742,7 @@ static ssize_t sched_mc_power_savings_st
 					    struct sysdev_attribute *attr,
 					    const char *buf, size_t count)
 {
+	return 0;
 	return sched_power_savings_store(buf, count, 0);
 }
 static SYSDEV_ATTR(sched_mc_power_savings, 0644, sched_mc_power_savings_show,
@@ -7753,12 +7754,14 @@ static ssize_t sched_smt_power_savings_s
 					    struct sysdev_attribute *attr,
 					    char *page)
 {
+	return 0;
 	return sprintf(page, "%u\n", sched_smt_power_savings);
 }
 static ssize_t sched_smt_power_savings_store(struct sys_device *dev,
 					    struct sysdev_attribute *attr,
 					     const char *buf, size_t count)
 {
+	return 0;
 	return sched_power_savings_store(buf, count, 1);
 }
 static SYSDEV_ATTR(sched_smt_power_savings, 0644, sched_smt_power_savings_show,
_

and hope that magic happens in Mondays's linux-next.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 2.6.26-rc9-mmotm oops - suspect kernel-schedc-add-missing-attr-parameter.patch
  2008-07-14  4:02   ` Andrew Morton
@ 2008-07-15 11:11     ` Takashi Iwai
  2008-07-15 14:51       ` Takashi Iwai
  0 siblings, 1 reply; 5+ messages in thread
From: Takashi Iwai @ 2008-07-15 11:11 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Valdis.Kletnieks, linux-kernel, Ingo Molnar, Stephen Rothwell

At Sun, 13 Jul 2008 21:02:52 -0700,
Andrew Morton wrote:
> 
> On Sun, 13 Jul 2008 23:19:01 -0400 Valdis.Kletnieks@vt.edu wrote:
> 
> > On Sun, 13 Jul 2008 05:45:53 EDT, Valdis.Kletnieks@vt.edu said:
> > > --==_Exmh_1215942353_3043P
> > > Content-Type: text/plain; charset=us-ascii
> > > 
> > > kernel-schedc-add-missing-attr-parameter.patch is my leading suspect, as it's
> > > the last thing to poke around in the failing code...
> > > 
> > > My /etc/rc.local had this in it:
> > > 
> > > echo 1 > /sys/devices/system/cpu/sched_mc_power_savings
> > > 
> > > Which got me an oops:
> > 
> > powertop 1.11 just pulled another oops on me, that looks related:
> > 
> > [ 9802.991006] BUG: unable to handle kernel paging request at ffffffff802291c0
> > [ 9802.991006] IP: [<ffffffff8037fba0>] number+0x1e6/0x216
> > [ 9802.991006] PGD 203067 PUD 207063 PMD 7f84c163 PTE 229161
> > [ 9802.991006] Oops: 0003 [1] PREEMPT SMP 
> > [ 9802.991006] last sysfs file: /sys/devices/system/cpu/sched_mc_power_savings
> > [ 9802.991006] CPU 0 
> > [ 9802.991006] Modules linked in: irnet ppp_generic slhc irtty_sir sir_dev ircomm_tty ircomm irda crc_ccitt coretemp nf_conntrack_ftp xt_pkttype ipt_REJECT ipt_osf nf_conntrack_ipv4 xt_ipisforif ipt_recent ipt_LOG xt_u32 iptable_filter ip_tables xt_tcpudp nf_conntrack_ipv6 xt_state nf_conntrack ip6t_LOG xt_limit ip6table_filter ip6_tables x_tables sha256_generic aes_generic rtc acpi_cpufreq tpm_tis tpm tpm_bios pcmcia arc4 ecb iwl3945 yenta_socket rsrc_nonstatic rfkill pcmcia_core dcdbas ohci1394 nvidia(P) iTCO_wdt ieee1394 mac80211 video iTCO_vendor_support snd_hda_intel intel_agp output led_class thermal tg3 processor ac battery firmware_class button cfg80211 libphy [last unloaded: microcode]
> > [ 9802.991006] Pid: 21426, comm: powertop Tainted: P          2.6.26-rc9-mm1 #2
> > [ 9802.991006] RIP: 0010:[<ffffffff8037fba0>]  [<ffffffff8037fba0>] number+0x1e6/0x216
> > [ 9802.991006] RSP: 0018:ffff88005188dba8  EFLAGS: 00010293
> > [ 9802.991006] RAX: 0000000000000030 RBX: ffff88005188ddb8 RCX: 0000000000000000
> > [ 9802.991006] RDX: 00000000fffffffc RSI: 0000000000000000 RDI: 0000000000000000
> > [ 9802.991006] RBP: ffff88005188dc48 R08: 00000000ffffffff R09: 0000000000000000
> > [ 9802.991006] R10: ffffffffffffffff R11: 000000000000000a R12: ffffffff802291c0
> > [ 9802.991006] R13: 00000000ffffffff R14: 0000000000000000 R15: 0000000000000000
> > [ 9802.991006] FS:  00007f85234d76f0(0000) GS:ffffffff80770ec0(0000) knlGS:0000000000000000
> > [ 9802.991006] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> > [ 9802.991006] CR2: ffffffff802291c0 CR3: 0000000067285000 CR4: 00000000000006e0
> > [ 9802.991006] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> > [ 9802.991006] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> > [ 9802.991006] Process powertop (pid: 21426, threadinfo ffff88005188c000, task ffff88005afe1600)
> > [ 9802.991006] Stack:  ffffffff80348e86 0000000000000001 ffff88005188dbf8 00ffffffffffffff
> > [ 9802.991006]  ffffffff80349430 ffffffff80349e86 0000000000000001 ffff88006bc43fb0
> > [ 9802.991006]  0000000000000203 000000000000002d ffff88005188dc18 ffffffff80561638
> > [ 9802.991006] Call Trace:
> > [ 9802.991006]  [<ffffffff80348e86>] ? avc_has_perm_noaudit+0x4e/0x62b
> > [ 9802.991006]  [<ffffffff80349430>] ? avc_has_perm_noaudit+0x5f8/0x62b
> > [ 9802.991006]  [<ffffffff80349e86>] ? avc_has_perm+0x31/0x60
> > [ 9802.991006]  [<ffffffff80561638>] ? sub_preempt_count+0x60/0x75
> > [ 9802.991006]  [<ffffffff8025a95a>] ? __lock_acquire+0x6e/0x1131
> > [ 9802.991006]  [<ffffffff802291c0>] ? sched_mc_power_savings_show+0x0/0x1f
> > [ 9802.991006]  [<ffffffff803808dc>] vsnprintf+0x59e/0x5f0
> > [ 9802.991006]  [<ffffffff802291c0>] ? sched_mc_power_savings_show+0x0/0x1f
> 
> hm, yes, I'd say that you have fingered the appropriate patch.  But
> without that patch, the warnings which it fixes reappear, so we're
> busted either way.

My fix wasn't right.  Please drop it. 
Just reading the code more further, the problem is that sched.c uses
sysfs_create_file() for sysdev_class.  The below is an untested fix.


thanks,

Takashi


===
[PATCH] Use sysdev_class* in sched.c

The power_saving* attributes are really sysdev_class stuff, so we
must create them via sysdev_class_create_file().  The parameters of
callback functions must be also fixed.


Signed-off-by: Takashi Iwai <tiwai@suse.de>

---
diff --git a/kernel/sched.c b/kernel/sched.c
index 8500035..eee1888 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -7732,31 +7732,35 @@ static ssize_t sched_power_savings_store(const char *buf, size_t count, int smt)
 }
 
 #ifdef CONFIG_SCHED_MC
-static ssize_t sched_mc_power_savings_show(struct sys_device *dev, char *page)
+static ssize_t sched_mc_power_savings_show(struct sysdev_class *cls,
+					   char *page)
 {
 	return sprintf(page, "%u\n", sched_mc_power_savings);
 }
-static ssize_t sched_mc_power_savings_store(struct sys_device *dev,
+static ssize_t sched_mc_power_savings_store(struct sysdev_class *cls,
 					    const char *buf, size_t count)
 {
 	return sched_power_savings_store(buf, count, 0);
 }
-static SYSDEV_ATTR(sched_mc_power_savings, 0644, sched_mc_power_savings_show,
-		   sched_mc_power_savings_store);
+static SYSDEV_CLASS_ATTR(sched_mc_power_savings, 0644,
+			 sched_mc_power_savings_show,
+			 sched_mc_power_savings_store);
 #endif
 
 #ifdef CONFIG_SCHED_SMT
-static ssize_t sched_smt_power_savings_show(struct sys_device *dev, char *page)
+static ssize_t sched_smt_power_savings_show(struct sysdev_class *cls,
+					    char *page)
 {
 	return sprintf(page, "%u\n", sched_smt_power_savings);
 }
-static ssize_t sched_smt_power_savings_store(struct sys_device *dev,
+static ssize_t sched_smt_power_savings_store(struct sysdv_class *cls,
 					     const char *buf, size_t count)
 {
 	return sched_power_savings_store(buf, count, 1);
 }
-static SYSDEV_ATTR(sched_smt_power_savings, 0644, sched_smt_power_savings_show,
-		   sched_smt_power_savings_store);
+static SYSDEV_CLASS_ATTR(sched_smt_power_savings, 0644,
+			 sched_smt_power_savings_show,
+			 sched_smt_power_savings_store);
 #endif
 
 int sched_create_sysfs_power_savings_entries(struct sysdev_class *cls)
@@ -7765,13 +7769,13 @@ int sched_create_sysfs_power_savings_entries(struct sysdev_class *cls)
 
 #ifdef CONFIG_SCHED_SMT
 	if (smt_capable())
-		err = sysfs_create_file(&cls->kset.kobj,
-					&attr_sched_smt_power_savings.attr);
+		err = sysdev_class_create_file(cls,
+					       &attr_sched_smt_power_savings);
 #endif
 #ifdef CONFIG_SCHED_MC
 	if (!err && mc_capable())
-		err = sysfs_create_file(&cls->kset.kobj,
-					&attr_sched_mc_power_savings.attr);
+		err = sysdev_class_create_file(cls,
+					       &attr_sched_mc_power_savings);
 #endif
 	return err;
 }

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 2.6.26-rc9-mmotm oops - suspect kernel-schedc-add-missing-attr-parameter.patch
  2008-07-15 11:11     ` Takashi Iwai
@ 2008-07-15 14:51       ` Takashi Iwai
  0 siblings, 0 replies; 5+ messages in thread
From: Takashi Iwai @ 2008-07-15 14:51 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Valdis.Kletnieks, linux-kernel, Ingo Molnar, Stephen Rothwell

At Tue, 15 Jul 2008 13:11:18 +0200,
I wrote:
> 
> At Sun, 13 Jul 2008 21:02:52 -0700,
> Andrew Morton wrote:
> > 
> > On Sun, 13 Jul 2008 23:19:01 -0400 Valdis.Kletnieks@vt.edu wrote:
> > 
> > > On Sun, 13 Jul 2008 05:45:53 EDT, Valdis.Kletnieks@vt.edu said:
> > > > --==_Exmh_1215942353_3043P
> > > > Content-Type: text/plain; charset=us-ascii
> > > > 
> > > > kernel-schedc-add-missing-attr-parameter.patch is my leading suspect, as it's
> > > > the last thing to poke around in the failing code...
> > > > 
> > > > My /etc/rc.local had this in it:
> > > > 
> > > > echo 1 > /sys/devices/system/cpu/sched_mc_power_savings
> > > > 
> > > > Which got me an oops:
> > > 
> > > powertop 1.11 just pulled another oops on me, that looks related:
> > > 
> > > [ 9802.991006] BUG: unable to handle kernel paging request at ffffffff802291c0
> > > [ 9802.991006] IP: [<ffffffff8037fba0>] number+0x1e6/0x216
> > > [ 9802.991006] PGD 203067 PUD 207063 PMD 7f84c163 PTE 229161
> > > [ 9802.991006] Oops: 0003 [1] PREEMPT SMP 
> > > [ 9802.991006] last sysfs file: /sys/devices/system/cpu/sched_mc_power_savings
> > > [ 9802.991006] CPU 0 
> > > [ 9802.991006] Modules linked in: irnet ppp_generic slhc irtty_sir sir_dev ircomm_tty ircomm irda crc_ccitt coretemp nf_conntrack_ftp xt_pkttype ipt_REJECT ipt_osf nf_conntrack_ipv4 xt_ipisforif ipt_recent ipt_LOG xt_u32 iptable_filter ip_tables xt_tcpudp nf_conntrack_ipv6 xt_state nf_conntrack ip6t_LOG xt_limit ip6table_filter ip6_tables x_tables sha256_generic aes_generic rtc acpi_cpufreq tpm_tis tpm tpm_bios pcmcia arc4 ecb iwl3945 yenta_socket rsrc_nonstatic rfkill pcmcia_core dcdbas ohci1394 nvidia(P) iTCO_wdt ieee1394 mac80211 video iTCO_vendor_support snd_hda_intel intel_agp output led_class thermal tg3 processor ac battery firmware_class button cfg80211 libphy [last unloaded: microcode]
> > > [ 9802.991006] Pid: 21426, comm: powertop Tainted: P          2.6.26-rc9-mm1 #2
> > > [ 9802.991006] RIP: 0010:[<ffffffff8037fba0>]  [<ffffffff8037fba0>] number+0x1e6/0x216
> > > [ 9802.991006] RSP: 0018:ffff88005188dba8  EFLAGS: 00010293
> > > [ 9802.991006] RAX: 0000000000000030 RBX: ffff88005188ddb8 RCX: 0000000000000000
> > > [ 9802.991006] RDX: 00000000fffffffc RSI: 0000000000000000 RDI: 0000000000000000
> > > [ 9802.991006] RBP: ffff88005188dc48 R08: 00000000ffffffff R09: 0000000000000000
> > > [ 9802.991006] R10: ffffffffffffffff R11: 000000000000000a R12: ffffffff802291c0
> > > [ 9802.991006] R13: 00000000ffffffff R14: 0000000000000000 R15: 0000000000000000
> > > [ 9802.991006] FS:  00007f85234d76f0(0000) GS:ffffffff80770ec0(0000) knlGS:0000000000000000
> > > [ 9802.991006] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> > > [ 9802.991006] CR2: ffffffff802291c0 CR3: 0000000067285000 CR4: 00000000000006e0
> > > [ 9802.991006] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> > > [ 9802.991006] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> > > [ 9802.991006] Process powertop (pid: 21426, threadinfo ffff88005188c000, task ffff88005afe1600)
> > > [ 9802.991006] Stack:  ffffffff80348e86 0000000000000001 ffff88005188dbf8 00ffffffffffffff
> > > [ 9802.991006]  ffffffff80349430 ffffffff80349e86 0000000000000001 ffff88006bc43fb0
> > > [ 9802.991006]  0000000000000203 000000000000002d ffff88005188dc18 ffffffff80561638
> > > [ 9802.991006] Call Trace:
> > > [ 9802.991006]  [<ffffffff80348e86>] ? avc_has_perm_noaudit+0x4e/0x62b
> > > [ 9802.991006]  [<ffffffff80349430>] ? avc_has_perm_noaudit+0x5f8/0x62b
> > > [ 9802.991006]  [<ffffffff80349e86>] ? avc_has_perm+0x31/0x60
> > > [ 9802.991006]  [<ffffffff80561638>] ? sub_preempt_count+0x60/0x75
> > > [ 9802.991006]  [<ffffffff8025a95a>] ? __lock_acquire+0x6e/0x1131
> > > [ 9802.991006]  [<ffffffff802291c0>] ? sched_mc_power_savings_show+0x0/0x1f
> > > [ 9802.991006]  [<ffffffff803808dc>] vsnprintf+0x59e/0x5f0
> > > [ 9802.991006]  [<ffffffff802291c0>] ? sched_mc_power_savings_show+0x0/0x1f
> > 
> > hm, yes, I'd say that you have fingered the appropriate patch.  But
> > without that patch, the warnings which it fixes reappear, so we're
> > busted either way.
> 
> My fix wasn't right.  Please drop it. 
> Just reading the code more further, the problem is that sched.c uses
> sysfs_create_file() for sysdev_class.  The below is an untested fix.

Err, sorry, there was an obvious typo.
The revised version is below.


Takashi

===
[PATCH] Use sysdev_class* in sched.c

The power_saving* attributes are really sysdev_class stuff, so we
must create them via sysdev_class_create_file().  The parameters of
callback functions must be also fixed.


Signed-off-by: Takashi Iwai <tiwai@suse.de>

---
diff --git a/kernel/sched.c b/kernel/sched.c
index 8500035..eee1888 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -7732,31 +7732,35 @@ static ssize_t sched_power_savings_store(const char *buf, size_t count, int smt)
 }
 
 #ifdef CONFIG_SCHED_MC
-static ssize_t sched_mc_power_savings_show(struct sys_device *dev, char *page)
+static ssize_t sched_mc_power_savings_show(struct sysdev_class *cls,
+					   char *page)
 {
 	return sprintf(page, "%u\n", sched_mc_power_savings);
 }
-static ssize_t sched_mc_power_savings_store(struct sys_device *dev,
+static ssize_t sched_mc_power_savings_store(struct sysdev_class *cls,
 					    const char *buf, size_t count)
 {
 	return sched_power_savings_store(buf, count, 0);
 }
-static SYSDEV_ATTR(sched_mc_power_savings, 0644, sched_mc_power_savings_show,
-		   sched_mc_power_savings_store);
+static SYSDEV_CLASS_ATTR(sched_mc_power_savings, 0644,
+			 sched_mc_power_savings_show,
+			 sched_mc_power_savings_store);
 #endif
 
 #ifdef CONFIG_SCHED_SMT
-static ssize_t sched_smt_power_savings_show(struct sys_device *dev, char *page)
+static ssize_t sched_smt_power_savings_show(struct sysdev_class *cls,
+					    char *page)
 {
 	return sprintf(page, "%u\n", sched_smt_power_savings);
 }
-static ssize_t sched_smt_power_savings_store(struct sys_device *dev,
+static ssize_t sched_smt_power_savings_store(struct sysdev_class *cls,
 					     const char *buf, size_t count)
 {
 	return sched_power_savings_store(buf, count, 1);
 }
-static SYSDEV_ATTR(sched_smt_power_savings, 0644, sched_smt_power_savings_show,
-		   sched_smt_power_savings_store);
+static SYSDEV_CLASS_ATTR(sched_smt_power_savings, 0644,
+			 sched_smt_power_savings_show,
+			 sched_smt_power_savings_store);
 #endif
 
 int sched_create_sysfs_power_savings_entries(struct sysdev_class *cls)
@@ -7765,13 +7769,13 @@ int sched_create_sysfs_power_savings_entries(struct sysdev_class *cls)
 
 #ifdef CONFIG_SCHED_SMT
 	if (smt_capable())
-		err = sysfs_create_file(&cls->kset.kobj,
-					&attr_sched_smt_power_savings.attr);
+		err = sysdev_class_create_file(cls,
+					       &attr_sched_smt_power_savings);
 #endif
 #ifdef CONFIG_SCHED_MC
 	if (!err && mc_capable())
-		err = sysfs_create_file(&cls->kset.kobj,
-					&attr_sched_mc_power_savings.attr);
+		err = sysdev_class_create_file(cls,
+					       &attr_sched_mc_power_savings);
 #endif
 	return err;
 }

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-07-14 10:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-07-13  9:45 2.6.26-rc9-mmotm oops - suspect kernel-schedc-add-missing-attr-parameter.patch Valdis.Kletnieks
2008-07-14  3:19 ` Valdis.Kletnieks
2008-07-14  4:02   ` Andrew Morton
2008-07-15 11:11     ` Takashi Iwai
2008-07-15 14:51       ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®