RE: locking problem in sata_sil24?

2008-03-04 Thread Rune Torgersen
[EMAIL PROTECTED] wrote:
 Now I get an inconsistent locking state, but I need help in
 trying to
 fiure out what I should look for.

I did figure out htat lockdep only complains about inonsistent locking
state when PREEMPT_RT paches are applied.
Now I just need some help interpreting this output so I can find what
lock and why it is inconsitent.
I _really_ want to run the rt patches...

 
 =
 [ INFO: inconsistent lock state ]
 [ 2.6.24-rt1 #12
 -
 inconsistent {hardirq-on-W} - {in-hardirq-W} usage.
 swapper/0 [HC1[1]:SC0[0]:HE0:SE1] takes:
  (host-lock){+-..}, at: [c01c8e14] sil24_interrupt+0x68/0x53c
 {hardirq-on-W} state was registered at:
   [c0047724] __lock_acquire+0x494/0xc04
   [c0047ee8] lock_acquire+0x54/0x78
   [c025c8f0] rt_spin_lock+0x34/0x54
   [c01b45ac] ata_dev_init+0x38/0x88
   [c01b467c] ata_link_init+0x80/0xa4
   [c01b4840] ata_port_alloc+0x1a0/0x1bc
   [c01b48f4] ata_host_alloc+0x98/0xf8
   [c01b4974] ata_host_alloc_pinfo+0x20/0x104
   [c01c83b4] sil24_init_one+0x128/0x390
   [c01802f0] pci_device_probe+0x70/0xa8
   [c0197d10] driver_probe_device+0x104/0x1ac
   [c0197e0c] __driver_attach+0x54/0x8c
   [c0197030] bus_for_each_dev+0x58/0xa0
   [c0197adc] driver_attach+0x2c/0x44
   [c0197778] bus_add_driver+0xb4/0x1b8
   [c01980b8] driver_register+0x7c/0x114
   [c01803bc] __pci_register_driver+0x60/0x78
   [c031e620] sil24_init+0x2c/0x44
   [c030a2c8] kernel_init+0xdc/0x334
   [c0010408] kernel_thread+0x44/0x60
 irq event stamp: 16174
 hardirqs last  enabled at (16173): [c0046d18]
 trace_hardirqs_on+0x1c/0x34
 hardirqs last disabled at (16174): [c0045554]
 trace_hardirqs_off+0x1c/0x34
 softirqs last  enabled at (0): [] 0x0
 softirqs last disabled at (0): [] 0x0
 
 other info that might help us debug this:
 no locks held by swapper/0.
 
 stack backtrace:
 Call Trace:
 [c0357ca0] [c0008474] show_stack+0x54/0x18c (unreliable)
 [c0357cd0] [c00085cc] dump_stack+0x20/0x38
 [c0357ce0] [c00460a0] print_usage_bug+0x130/0x14c
 [c0357d10] [c0046674] mark_lock+0xf0/0x4ec
 [c0357d30] [c004769c] __lock_acquire+0x40c/0xc04
 [c0357d80] [c0047ee8] lock_acquire+0x54/0x78
 [c0357da0] [c025c8f0] rt_spin_lock+0x34/0x54
 [c0357dc0] [c01c8e14] sil24_interrupt+0x68/0x53c
 [c0357e00] [c00529e0] handle_IRQ_event+0x6c/0x114
 [c0357e30] [c0052bcc] __do_IRQ+0x144/0x1c4
 [c0357e50] [c0017d88] apmax_int_irq_demux+0x90/0xb8
 [c0357e70] [c00063f0] do_IRQ+0x6c/0xb0
 [c0357e80] [c0010cfc] ret_from_except+0x0/0x28
 --- Exception: 501 at check_critical_timing+0x184/0x190
 LR = check_critical_timing+0x15c/0x190
 [c0357f80] [c00519a4] touch_critical_timing+0x5c/0xb0
 [c0357fa0] [c00096c4] cpu_idle+0xe4/0x124
 [c0357fb0] [c0003bcc] rest_init+0x78/0xac
 [c0357fc0] [c030ab9c] start_kernel+0x2c4/0x2dc
 [c0357ff0] [3438] 0x3438


 [ cut here ]
 kernel BUG at kernel/rtmutex.c:692!
 Oops: Exception in kernel mode, sig: 5 [#1]
 PREEMPT Innovative Systems ApMax
 Modules linked in:
 NIP: c025c340 LR: c025c318 CTR: c01c8dac
 REGS: ef859ad0 TRAP: 0700   Not tainted  (2.6.24-rt1)
 MSR: 00021032 ME,IR,DR  CR: 28004042  XER: 2000
 TASK = ef852090[8] 'softirq-block/0' THREAD: ef858000
 GPR00: 0001 ef859b80 ef852090    
 0002 GPR08: 0001 ef852090 ef852090 ef859b80  
 0fffd000 0028 GPR16: 00800564 0080  007fff00 
 0001 ef8bc000 ef3ac2f0 GPR24: 0011   ef3f77e0
 ef858000 1032 ef3ac2f0 ef859b80 NIP [c025c340]
 rt_spin_lock_slowlock+0x7c/0x1c0 
 LR [c025c318] rt_spin_lock_slowlock+0x54/0x1c0
 Call Trace:
 [ef859b80] [c025c318] rt_spin_lock_slowlock+0x54/0x1c0 (unreliable)
 [ef859be0] [c025c78c] __rt_spin_lock+0x80/0x98
 [ef859bf0] [c025c8f8] rt_spin_lock+0x3c/0x54
 [ef859c10] [c01c8e14] sil24_interrupt+0x68/0x53c
 [ef859c50] [c00529e0] handle_IRQ_event+0x6c/0x114
 [ef859c80] [c0052bcc] __do_IRQ+0x144/0x1c4
 [ef859ca0] [c0017d88] apmax_int_irq_demux+0x90/0xb8
 [ef859cc0] [c00063f0] do_IRQ+0x6c/0xb0
 [ef859cd0] [c0010cfc] ret_from_except+0x0/0x28
 --- Exception: 501 at ata_qc_issue+0x140/0x684
 LR = ata_scsi_translate+0x138/0x184
 [ef859d90] [ef385960] 0xef385960 (unreliable)
 [ef859dd0] [c01bd7a0] ata_scsi_translate+0x138/0x184
 [ef859e00] [c01c0d0c] ata_scsi_queuecmd+0x210/0x240
 [ef859e20] [c01a46d4] scsi_dispatch_cmd+0x1d0/0x240
 [ef859e40] [c01aaecc] scsi_request_fn+0x274/0x340
 [ef859e60] [c0160b9c] blk_run_queue+0x68/0xac
 [ef859e80] [c01a8ee0] scsi_run_queue+0x1cc/0x1e4
 [ef859eb0] [c01a9678] scsi_next_command+0x3c/0x5c
 [ef859ed0] [c01a987c] scsi_end_request+0xd4/0xf4
 [ef859ef0] [c01a9c30] scsi_io_completion+0xf4/0x320
 [ef859f30] [c01a3f78] scsi_finish_command+0x94/0xac
 [ef859f50] [c01aa5d4] scsi_softirq_done+0xd4/0xec
 [ef859f70] [c015c83c] blk_done_softirq+0x8c/0xbc
 [ef859f90] [c0026008] ksoftirqd+0x168/0x27c
 [ef859fd0] [c00386d0] kthread+0x50/0x90
 [ef859ff0] [c0010408] kernel_thread+0x44/0x60
 Instruction 

Re: locking problem in sata_sil24?

2008-03-03 Thread Benjamin Herrenschmidt

On Mon, 2008-03-03 at 16:10 -0600, Rune Torgersen wrote:
 Hi I am trying to get PREEMPT_RT pach to wokr on my 2.6.24 kernel, but
 kept gettign a BUG() (kernel BUG at kernel/rtmutex.c:692).
 While tryiong to figure out what it was, I saw some mention of trying
 LOCKDEP to see what is going on, so I patched my -rt1 kernel with some
 lockdep patches from BenH.
 
 Now I get an inconsistent locking state, but I need help in trying to
 fiure out what I should look for.
 kernel is fo an Freescale 8280 and the locking seems to occur in the
 driver for a Silicon Image SII3124 SATA disk driver

What core is in the 8280 ? At this stage, I wouldn't rule out a bug in
the lockdep patches, I need to do more work on them.

Cheers,
Ben.


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


RE: locking problem in sata_sil24?

2008-03-03 Thread Rune Torgersen
Benjamin Herrenschmidt wrote:
 On Mon, 2008-03-03 at 16:10 -0600, Rune Torgersen wrote:
 Hi I am trying to get PREEMPT_RT pach to wokr on my 2.6.24 kernel,

 What core is in the 8280 ? At this stage, I wouldn't rule out a bug in
 the lockdep patches, I need to do more work on them.

Should be an 603e
adn revision (from u-boot)
CPU:   MPC8280 (HiP7 Rev 14, Mask 1.0 1K49M) at 447.897 MHz



I am currently compiling a LOCKDEP kernel for my x86 desktop, as it has
the exact same SiliconImage controller on a card, so I'll see if it gets
a similar detection.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


RE: locking problem in sata_sil24?

2008-03-03 Thread Benjamin Herrenschmidt

On Mon, 2008-03-03 at 16:44 -0600, Rune Torgersen wrote:
 Benjamin Herrenschmidt wrote:
  On Mon, 2008-03-03 at 16:10 -0600, Rune Torgersen wrote:
  Hi I am trying to get PREEMPT_RT pach to wokr on my 2.6.24 kernel,
 
  What core is in the 8280 ? At this stage, I wouldn't rule out a bug in
  the lockdep patches, I need to do more work on them.
 
 Should be an 603e
 adn revision (from u-boot)
 CPU:   MPC8280 (HiP7 Rev 14, Mask 1.0 1K49M) at 447.897 MHz
 
 
 
 I am currently compiling a LOCKDEP kernel for my x86 desktop, as it has
 the exact same SiliconImage controller on a card, so I'll see if it gets
 a similar detection.

In fact, I remember working on 64 bits lockdep, based on patches from
Johannes, but I didn't do 32 bits. I think somebody worked on it, but
now I can't find the patches...

Whoever did it can bounce them back to me ? I intend to do some more
work on this soon.

Cheers,
Ben.

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


RE: locking problem in sata_sil24?

2008-03-03 Thread Rune Torgersen
 From: Benjamin Herrenschmidt
 In fact, I remember working on 64 bits lockdep, based on patches from
 Johannes, but I didn't do 32 bits. I think somebody worked on it, but
 now I can't find the patches...

http://patchwork.ozlabs.org/linuxppc/patch?id=16652

 Whoever did it can bounce them back to me ? I intend to do some more
 work on this soon.

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev