mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Esben Nielsen <nielsen.esben@googlemail.com>
To: Milan Svoboda <msvoboda@ra.rockwell.com>
Cc: Steven Rostedt <rostedt@goodmis.org>,
	linux-kernel@vger.kernel.org, Deepak Saxena <dsaxena@plexity.net>
Subject: Re: [BUG] Linux-2.6.17-rt3 on arm ixdp465
Date: Thu, 29 Jun 2006 13:40:15 +0100 (BST)	[thread overview]
Message-ID: <Pine.LNX.4.64.0606291334540.10401@localhost.localdomain> (raw)
In-Reply-To: <OF92240490.78BE8F01-ONC125719C.0037A4FD-C125719C.00389E07@ra.rockwell.com>



On Thu, 29 Jun 2006, Milan Svoboda wrote:

>>>
>>>> Thank you for your answer, I look at it too...
>>>>
>>>
>>> eepro100 seems to be SMP safe, so it shouldn't be there.
>>> Have anyone else used eepro100 with preempt-realtime?
>
>> I use to use it a while back ago, when e100 would screw up my network
>> card. But that has been fixed so I don't use eepro100 and I would
>> recommend anyone else to switch to e100.
>
> I have been using it because the same reason as you, but simply didn't
> noticed that e100 works now ;-)
>
> I switched to e100 and turned debug messages on and got many of these:
>
> BUG: scheduling with irqs disabled: softirq-net-rx//0x00000000/6
> caller is schedule+0x10/0x114
> [<c0024e24>] (dump_stack+0x0/0x28) from [<c01ae528>] (schedule+0xf8/0x114)
> [<c01ae430>] (schedule+0x0/0x114) from [<c01afb60>]
> (rt_lock_slowlock+0x100/0x240)
> r5 = C01F070C  r4 = C4150000
> [<c01afa60>] (rt_lock_slowlock+0x0/0x240) from [<c01aff28>]
> (__lock_text_start+0x18/0x1c)
> [<c01aff10>] (__lock_text_start+0x0/0x1c) from [<c0078b08>]
> (kfree+0x2c/0x84)
> [<c0078adc>] (kfree+0x0/0x84) from [<c002aab0>]
> (dma_unmap_single+0x110/0x1a8)
> r5 = C4124BE0  r4 = C7C4B6E0
> [<c002a9a0>] (dma_unmap_single+0x0/0x1a8) from [<c012766c>]
> (e100_poll+0x2e0/0x59c)
> r8 = C432A3A0  r7 = C41C9BA0  r6 = C41C9B60  r5 = 00000001
> r4 = FFC881C0
> [<c012738c>] (e100_poll+0x0/0x59c) from [<c0148280>]
> (net_rx_action+0xa0/0x1a4)
> [<c01481e0>] (net_rx_action+0x0/0x1a4) from [<c0039020>]
> (ksoftirqd+0x110/0x1b0)
> [<c0038f10>] (ksoftirqd+0x0/0x1b0) from [<c00490d8>] (kthread+0x110/0x13c)
> [<c0048fc8>] (kthread+0x0/0x13c) from [<c0035054>] (do_exit+0x0/0x998)
> r8 = 00000000  r7 = 00000000  r6 = 00000000  r5 = 00000000
> r4 = 00000000
> ---------------------------
> | preempt count: 00000000 ]
> | 0-level deep critical section nesting:
> ----------------------------------------
>

It seems that dma_unmap_single() on arm contains
 	local_irq_save(flags);

 	unmap_single(dev, dma_addr, size, dir);

 	local_irq_restore(flags);

I don't know the dma code on arm. It doesn't look like a per-cpu code but it
seems to me that it is not SMP safe and therefore not preempt-realtime 
safe, either.

The hard thing is to figure out which datastructures exactly is protected 
by those irq-disable and put in a spinlock..

I added Deepak Saxena on CC as he seems to be the last one who touched the 
file.


Esben

> These messages are different as their source seems to be softirq-net-rx. I
> cannot reproduce
> the original bug now...
>
>
> PS: Is latency tracing working on arm platform? I'm unable to get this
> statistic...
>
> Milan
>
>

  parent reply	other threads:[~2006-06-29 11:40 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-29 10:17 Milan Svoboda
2006-06-29 11:53 ` Russell King
2006-06-29 12:40 ` Esben Nielsen [this message]
2006-06-29 12:09   ` Steven Rostedt
2006-06-29 12:25     ` Russell King
2006-06-29 12:49       ` Steven Rostedt
2006-06-29 13:31         ` Russell King
2006-06-30  6:46         ` Russell King
2006-06-30 18:50     ` Ingo Molnar
2006-06-30 19:00       ` Russell King
2006-06-30 19:01         ` Ingo Molnar
  -- strict thread matches above, loose matches on Subject: below --
2006-06-29  7:01 Milan Svoboda
2006-06-29 10:03 ` Esben Nielsen
2006-06-29  9:21   ` Steven Rostedt
2006-06-29 12:30     ` Esben Nielsen
2006-06-28 15:05 Milan Svoboda
2006-06-28 17:02 ` Esben Nielsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.64.0606291334540.10401@localhost.localdomain \
    --to=nielsen.esben@googlemail.com \
    --cc=dsaxena@plexity.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=msvoboda@ra.rockwell.com \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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®