READ ME, net-2.6 fully merged
Subsystems (2)
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.
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.
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
@@ -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.
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 callingnetif_wake_queue(). This causes an oops during loading of the driver.(Based on commit
d55b53fff0c2ddb639dca04c3f5a0854f292d982.)Signed-off-by Ben Hutchings <[email protected]>drivers/net/e1000/e1000_main.c +0
-0
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
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 callingnetif_wake_queue(). This causes an oops during loading of the driver.(Based on commit
d55b53fff0c2ddb639dca04c3f5a0854f292d982.)
...
Quoted 1 line
Acked-by Jeff Kirsher <[email protected]>
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.
David Miller
maintainerFrom: 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?
Quoted 10 lines · David Miller
From: Ben Hutchings <[email protected]>
Date: Fri, 18 Jul 2008 17:51:28 +0100Quoted 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
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.
David Miller
maintainerFrom: 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