From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: Hector Palacios <hector.palacios@digi.com>
Cc: Tim Sander <tim.sander@hbm.com>,
linux-rt-users@vger.kernel.org, lclaudio@uudg.org,
rostedt@goodmis.org, efault@gmx.de
Subject: Re: infinite spin in RT when booting with DHCP on
Date: Fri, 3 Feb 2012 11:35:20 +0100 [thread overview]
Message-ID: <20120203103520.GI25594@pengutronix.de> (raw)
In-Reply-To: <4F2BB59C.4080206@digi.com>
Hey Hector,
On Fri, Feb 03, 2012 at 11:23:24AM +0100, Hector Palacios wrote:
> On 02/02/2012 09:13 PM, Uwe Kleine-König wrote:
> >On Thu, Feb 02, 2012 at 01:38:44PM +0100, Tim Sander wrote:
> >>Hi
> >>>When booting my platform with DHCP on, the DHCP request is sent by the
> >>>network driver before the PHY has even started the autonegotiation.
> >>>Since the PHY is not ready, the TX interrupt returns with NETDEV_TX_BUSY
> >>>but the softirq [sirq-net-tx] seems to have entered an infinite spin, as
> >>>my system is practically hung and 'top' reveals [sirq-net-tx/0] is
> >>>consuming 95% of CPU. This is preventing the PHY autonegotiation (which is
> >>>scheduled as a delayed work) to start, so the PHY is never ready and the
> >>>packet never reaches the network.
> >>Mh, i think i am hit by the same problem. I have a i.mx 35 and when dhcp is
> >>enabled the ksoftirq is also running wild with 3.0-rt. This also happens when
> >I fail to reproduce that on a pcm043 machine using 3.0.18-rt34. Can you
> >provide me your config. Does the problem occur on every boot for you? If
> >not, how often do I need to reboot?
>
> On my ARM iMX51 platform the problem occurs on every boot. Basically
> I'm launching udhcpc on the /etc/network/if-up.d/ifup script, to get
> a dynamic IP for the FEC.
Maybe your environment is special then (pick one or more from: board,
cable, phy, hub/switch, sun erruption, ice cream on your board or your
favourite hardware designer :-).
As the problem occurs for you on every boot you seem to be the one who
can debug that easily. Can you check if mainline is affected, too, after
boosting ksoftirqd? I.e. either use
chrt -f -p 99 $(pidof ksoftirqd)
or add
diff --git a/kernel/softirq.c b/kernel/softirq.c
index 4eb3a0f..d08c046 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -861,6 +861,10 @@ static int __cpuinit cpu_callback(struct notifier_block *nfb,
printk("ksoftirqd for %i failed\n", hotcpu);
return notifier_from_errno(PTR_ERR(p));
}
+ sched_setscheduler_nocheck(p, SCHED_FIFO, &(struct sched_param){
+ .sched_priority = MAX_RT_PRIO-1,
+ });
+
kthread_bind(p, hotcpu);
per_cpu(ksoftirqd, hotcpu) = p;
break;
to your tree, whatever is easier for you.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2012-02-03 10:35 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-01 12:28 infinite spin in RT when booting with DHCP on Hector Palacios
2012-02-02 12:38 ` Tim Sander
2012-02-02 12:57 ` Hector Palacios
2012-02-02 14:25 ` Tim Sander
2012-02-02 15:32 ` Tim Sander
2012-02-02 15:53 ` Hector Palacios
2012-02-02 18:10 ` Steven Rostedt
2012-02-03 10:09 ` Hector Palacios
2012-02-03 10:54 ` John Ogness
2012-02-03 14:26 ` Steven Rostedt
2012-02-02 17:33 ` Steven Rostedt
2012-02-02 18:21 ` Steven Rostedt
2012-02-02 20:13 ` Uwe Kleine-König
2012-02-02 21:34 ` Steven Rostedt
2012-02-02 23:44 ` Tim Sander
2012-02-03 9:45 ` Tim Sander
2012-02-06 14:49 ` Tim Sander
2012-02-03 10:23 ` Hector Palacios
2012-02-03 10:35 ` Uwe Kleine-König [this message]
2012-02-03 16:14 ` Hector Palacios
2012-02-03 16:43 ` Steven Rostedt
2012-02-03 17:25 ` Hector Palacios
2012-02-03 17:39 ` Steven Rostedt
2012-02-03 19:25 ` Uwe Kleine-König
2012-02-03 20:04 ` Steven Rostedt
2012-02-06 8:51 ` Hector Palacios
2012-02-06 13:27 ` Steven Rostedt
2012-02-08 20:41 ` Thomas Gleixner
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=20120203103520.GI25594@pengutronix.de \
--to=u.kleine-koenig@pengutronix.de \
--cc=efault@gmx.de \
--cc=hector.palacios@digi.com \
--cc=lclaudio@uudg.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=tim.sander@hbm.com \
/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;
as well as URLs for NNTP newsgroup(s).