From: Andrew Morton <akpm@osdl.org>
To: David Miller <davem@davemloft.net>
Cc: herbert@gondor.apana.org.au, mingo@elte.hu,
alan@lxorguk.ukuu.org.uk, lenb@kernel.org,
linux-kernel@vger.kernel.org, ak@suse.de, torvalds@osdl.org
Subject: Re: [patch] net: dev_watchdog() locking fix
Date: Sun, 10 Dec 2006 23:45:08 -0800 [thread overview]
Message-ID: <20061210234508.cd83a784.akpm@osdl.org> (raw)
In-Reply-To: <20061209.140205.126778911.davem@davemloft.net>
On Sat, 09 Dec 2006 14:02:05 -0800 (PST)
David Miller <davem@davemloft.net> wrote:
> From: Herbert Xu <herbert@gondor.apana.org.au>
> Date: Sat, 9 Dec 2006 10:59:52 +1100
>
> > On Fri, Dec 08, 2006 at 03:19:02PM -0800, Andrew Morton wrote:
> > >
> > > Like this?
> > >
> > > /* don't get messages out of order, and no recursion */
> > > if (skb_queue_len(&npinfo->txq) == 0 &&
> > > npinfo->poll_owner != smp_processor_id()) {
> > > local_bh_disable(); /* Where's netif_tx_trylock_bh()? */
> > > if (netif_tx_trylock(dev)) {
> > > /* try until next clock tick */
> > > for (tries = jiffies_to_usecs(1)/USEC_PER_POLL;
> > > tries > 0; --tries) {
> > > if (!netif_queue_stopped(dev))
> > > status = dev->hard_start_xmit(skb, dev);
> > >
> > > if (status == NETDEV_TX_OK)
> > > break;
> > >
> > > /* tickle device maybe there is some cleanup */
> > > netpoll_poll(np);
> > >
> > > udelay(USEC_PER_POLL);
> > > }
> > > netif_tx_unlock(dev);
> > > }
> > > local_bh_enable();
> > > }
> >
> > Looks good to me. Thanks Andrew!
>
> I've applied this patch, thanks a lot.
It spits a nasty during bringup
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
forcedeth.c: Reverse Engineered nForce ethernet driver. Version 0.59.
netconsole: device eth0 not up yet, forcing it
e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex
WARNING (!__warned) at kernel/softirq.c:137 local_bh_enable()
Call Trace:
[<ffffffff80235baf>] local_bh_enable+0x41/0xa3
[<ffffffff8045ab8e>] netpoll_send_skb+0x116/0x144
[<ffffffff8045b1ee>] netpoll_send_udp+0x263/0x271
[<ffffffff803d41ec>] write_msg+0x42/0x5e
[<ffffffff80230c9b>] __call_console_drivers+0x5f/0x70
[<ffffffff80230d19>] _call_console_drivers+0x6d/0x71
[<ffffffff802313f0>] release_console_sem+0x148/0x1ec
[<ffffffff802316ce>] register_console+0x1b1/0x1ba
[<ffffffff803d4178>] init_netconsole+0x54/0x68
[<ffffffff802071ae>] init+0x152/0x308
[<ffffffff804dac8b>] _spin_unlock_irq+0x14/0x30
[<ffffffff8022c15e>] schedule_tail+0x43/0x9f
[<ffffffff8020a758>] child_rip+0xa/0x12
[<ffffffff8020705c>] init+0x0/0x308
[<ffffffff8020a74e>] child_rip+0x0/0x12
because local irqs are disabled.
next prev parent reply other threads:[~2006-12-11 7:46 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-06 22:30 [patch] ACPI, i686, x86_64: fix laptop bootup hang in init_acpi() Ingo Molnar
2006-12-06 23:57 ` Len Brown
2006-12-07 11:08 ` Ingo Molnar
2006-12-07 12:11 ` [patch] x86_64: do not enable the NMI watchdog by default Ingo Molnar
2006-12-07 12:30 ` Alan
2006-12-07 20:38 ` Andrew Morton
2006-12-07 20:47 ` Ingo Molnar
2006-12-07 20:49 ` Ingo Molnar
2006-12-07 20:55 ` [patch] net: dev_watchdog() locking fix Ingo Molnar
2006-12-07 21:06 ` Herbert Xu
2006-12-08 23:19 ` Andrew Morton
2006-12-08 23:59 ` Herbert Xu
2006-12-09 22:02 ` David Miller
2006-12-11 7:45 ` Andrew Morton [this message]
2006-12-11 7:51 ` Herbert Xu
2006-12-11 7:56 ` Ingo Molnar
2006-12-11 20:09 ` Andrew Morton
2006-12-07 17:24 ` [patch] x86_64: do not enable the NMI watchdog by default Andi Kleen
2006-12-07 2:28 ` [patch] ACPI, i686, x86_64: fix laptop bootup hang in init_acpi() Sergio Monteiro Basto
2006-12-07 4:47 ` Karsten Wiese
2006-12-07 11:09 ` Ingo Molnar
2006-12-07 11:24 ` Ingo Molnar
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=20061210234508.cd83a784.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=ak@suse.de \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=torvalds@osdl.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