Skip to contentSkip to conversation

READ ME, net-2.6 fully merged

PATCH Applied David Miller 4 participants 9 messages Jul 18, 2008 – Jul 19, 2008

Subsystems (2)
lore
Share & tools
lore

David Miller

author maintainer Applied
#0 lore raw

I merged Linus's current tree into net-next-2.6, fixed up all the merge conflicts, and pushed this out as plain "net-2.6":

master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git

There is a net-next-2.6 still there, but it's just a plain clone of Linus's tree so that the linux-next folks can still do dummy pulls from it.

I'll work through my backlog and the TX multiqueue issues Patrick brought up yesterday.

#1 lore raw
Quoted 5 lines · David Miller

I merged Linus's current tree into net-next-2.6, fixed up all the merge conflicts, and pushed this out as plain "net-2.6":

master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git

When I attempted to boot this on a test machine I got the following oops:

Fri Jul 18 17:44:51 2008 ------------[ cut here ]------------
Fri Jul 18 17:44:51 2008 kernel BUG at net/core/dev.c:1328!
Fri Jul 18 17:44:51 2008 invalid opcode: 0000 [#1] SMP
Fri Jul 18 17:44:51 2008 Modules linked in: xt_tcpudp ip6table_filter ip6_tables x_tables ipv6 ext2 floppy sfc e1000 i2c_algo_bit inet_lro mii shpchp button i2c_i801 i2c_core pcspkr ata_piix libata sd_mod scsi_mod dock ehci_hcd ohci_hcd uhci_hcd [last unloaded: microcode] Fri Jul 18 17:44:51 2008
Fri Jul 18 17:44:51 2008 Pid: 0, comm: swapper Not tainted (2.6.26 #106)
Fri Jul 18 17:44:51 2008 EIP: 0060:[<c036e4fc>] EFLAGS: 00010246 CPU: 1
Fri Jul 18 17:44:51 2008 EIP is at __netif_schedule+0xd/0x44
Fri Jul 18 17:44:51 2008 EAX: c048b780 EBX: f6e742c0 ECX: c048b780 EDX: 00003938
Fri Jul 18 17:44:51 2008 ESI: f6f06460 EDI: 00000100 EBP: f784fedc ESP: f784fed8
Fri Jul 18 17:44:51 2008 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
Fri Jul 18 17:44:51 2008 Process swapper (pid: 0, ti=f784e000 task=f7831c80 task.ti=f784e000)
Fri Jul 18 17:44:51 2008 Stack: f6e742c0 f784fefc f889092f f6f06000 f6e74740 f7846000 f6f06460 f7846000
Fri Jul 18 17:44:51 2008 00000100 f784ff1c c0226a9d f88906a6 f784ff08 f784ff08 00000001 c04949c4
Fri Jul 18 17:44:51 2008 0000000a f784ff34 c0223701 00000001 00000046 00000000 00000000 f784ff40
Fri Jul 18 17:44:51 2008 Call Trace:

Fri Jul 18 17:44:51 2008  [<f889092f>] ? e1000_watchdog+0x289/0x5eb [e1000]
Fri Jul 18 17:44:51 2008  [<c0226a9d>] ? run_timer_softirq+0xfd/0x158
Fri Jul 18 17:44:51 2008  [<f88906a6>] ? e1000_watchdog+0x0/0x5eb [e1000]
Fri Jul 18 17:44:51 2008  [<c0223701>] ? __do_softirq+0x64/0xcd
Fri Jul 18 17:44:51 2008  [<c022379f>] ? do_softirq+0x35/0x3a
Fri Jul 18 17:44:51 2008  [<c0223a2d>] ? irq_exit+0x38/0x3a
Fri Jul 18 17:44:51 2008  [<c020f5dd>] ? smp_apic_timer_interrupt+0x71/0x80
Fri Jul 18 17:44:51 2008  [<c0203710>] ? apic_timer_interrupt+0x28/0x30
Fri Jul 18 17:44:51 2008  [<c021007b>] ? balanced_irq+0x2da/0x4ae
Fri Jul 18 17:44:51 2008  [<c02083a3>] ? mwait_idle+0x35/0x3e
Fri Jul 18 17:44:51 2008  [<c02018f2>] ? cpu_idle+0xa4/0xbc
Fri Jul 18 17:44:51 2008  [<c03cd169>] ? start_secondary+0x169/0x16e
Fri Jul 18 17:44:51 2008  =======================

Fri Jul 18 17:44:51 2008 Code: b8 a0 6c 4d c0 01 c2 8b 42 28 89 01 b8 02 00 00 00 89 4a 28 e8 df 50 eb ff 53 9d 5b 5d c3 55 3d 80 b7 48 c0 89 e5 89 c1 53 75 04 <0f> 0b eb fe f0 0f ba 68 20 01 19 c0 85 c0 75 24 9c 5b fa 64 8b
Fri Jul 18 17:44:51 2008 EIP: [<c036e4fc>] __netif_schedule+0xd/0x44 SS:ESP 0068:f784fed8
Fri Jul 18 17:44:51 2008 Kernel panic - not syncing: Fatal exception in interrupt

The line is:

	BUG_ON(q == &noop_qdisc);

Ben.

Signature · 2 lines
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
#2 lore raw

PATCH 1/1 e1000: resolve tx multiqueue bug

With the recent changes to tx mutiqueue, e1000 was not calling netif_start_queue() before calling netif_wake_queue(). This causes an oops during loading of the driver.

(Based on commit d55b53fff0c2ddb639dca04c3f5a0854f292d982.)

drivers/net/e1000/e1000_main.c +2 -0
index f8df8bd..cf12b05 100644
@@ -1472,6 +1472,8 @@ e1000_open(struct net_device *netdev)
 
 	e1000_irq_enable(adapter);
 
+	netif_start_queue(netdev);
+
 	/* fire a link status change interrupt to start the watchdog */
 	E1000_WRITE_REG(&adapter->hw, ICS, E1000_ICS_LSC);
 
Signature · 2 lines
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
Acked-by on v1 1/1
#3 lore raw

Re: [PATCH] e1000: resolve tx multiqueue bug

Quoted 12 lines · Ben Hutchings

With the recent changes to tx mutiqueue, e1000 was not calling netif_start_queue() before calling netif_wake_queue(). This causes an oops during loading of the driver.

(Based on commit d55b53fff0c2ddb639dca04c3f5a0854f292d982.)

drivers/net/e1000/e1000_main.c +0 -0
index f8df8bd..cf12b05 100644

drivers/net/e1000/e1000_main.c e1000_open(struct net_device *netdev)

Quoted 9 lines
drivers/net/e1000/e1000_main.c +2 -1
@@ -1472,6 +1472,8 @@ e1000_open(struct net_device *netdev)
 
       e1000_irq_enable(adapter);
 
+       netif_start_queue(netdev);
+
       /* fire a link status change interrupt to start the watchdog */
       E1000_WRITE_REG(&adapter->hw, ICS, E1000_ICS_LSC);
 
--
Signature · 2 lines
Cheers,
Jeff
author maintainer Applied
#4 lore raw

Re: [PATCH] e1000: resolve tx multiqueue bug

From: "Jeff Kirsher" <[email protected]>
Date: Fri, 18 Jul 2008 17:04:42 -0700

Quoted 7 lines
Quoted 5 lines · Ben Hutchings

With the recent changes to tx mutiqueue, e1000 was not calling netif_start_queue() before calling netif_wake_queue(). This causes an oops during loading of the driver.

(Based on commit d55b53fff0c2ddb639dca04c3f5a0854f292d982.)

...

Quoted 1 line

Applied, thanks everyone.

Jeff, really, I think those wake/stop queue calls in the PHY link state watching code of all of these drivers should just flat out be removed.

author maintainer
#5 lore raw
In reply to Ben Hutchings

From: Ben Hutchings <[email protected]>
Date: Fri, 18 Jul 2008 17:51:28 +0100

Quoted 8 lines
Quoted 5 lines · David Miller

I merged Linus's current tree into net-next-2.6, fixed up all the merge conflicts, and pushed this out as plain "net-2.6":

master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git

When I attempted to boot this on a test machine I got the following oops:

Jeff Kirsher's patch I added should have cured this.

Actually it won't, he fixed e1000ebut not e1000.

Jeff?

#6 lore raw
Quoted 10 lines · David Miller

From: Ben Hutchings <[email protected]>
Date: Fri, 18 Jul 2008 17:51:28 +0100

Quoted 7 lines
Quoted 5 lines · David Miller

I merged Linus's current tree into net-next-2.6, fixed up all the merge conflicts, and pushed this out as plain "net-2.6":

master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git

Quoted 8 lines
Quoted 1 line

When I attempted to boot this on a test machine I got the following oops:

Jeff Kirsher's patch I added should have cured this.

Actually it won't, he fixed e1000ebut not e1000.

Jeff?
--

Yeah, it is the same issue. It appears that Ben has already submitted a similar patch to resolve the e1000 issue.

Signature · 2 lines
Cheers,
Jeff
#7 lore raw
In reply to David Miller

David Miller wrote, On 07/18/2008 12:39 PM:

Quoted 8 lines

I merged Linus's current tree into net-next-2.6, fixed up all the merge conflicts, and pushed this out as plain "net-2.6":

master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git

There is a net-next-2.6 still there, but it's just a plain clone of Linus's tree so that the linux-next folks can still do dummy pulls from it.

A little btw. question: I know you are busy now with more serious problems and it's not for now, but: after the last net-next-2.6 git policy change most of the time neither net-2.6 nor net-next-2.6 could be treated as current net state. I tried to stick to net-next, but it was idle most of the time.

Isn't it possible to create the third git tree maintained the old net-next way i.e. net-next-2.6 with immediate bug fixes from net-2.6 (and of course rebased from time to time)? I guess you could be doing something like this privately, so it's not necessarily a lot of additional hassle?

Thanks,
Jarek P.

author maintainer
#8 lore raw

From: Jarek Poplawski <[email protected]>
Date: Sat, 19 Jul 2008 09:50:36 +0200

Quoted 5 lines

A little btw. question: I know you are busy now with more serious problems and it's not for now, but: after the last net-next-2.6 git policy change most of the time neither net-2.6 nor net-next-2.6 could be treated as current net state. I tried to stick to net-next, but it was idle most of the time.

I don't want to merge too much, but I did merge net-2.6 into net-next-2.6 periodically.

Basically my main impetus to merge is when I know or sense that merge conflicts are building up.

I would recommend that people work on the tree that is appropriate for the work they are doing. And outside of a merge window that means net-2.6 for a bug fix and net-next-2.6 for new work (or bug fixes to new work).

Inside of the merge window, like we are now, will have everything going into net-2.6