WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] [PATCH] Add VMDq support to ixgbe

To: Mitch Williams <mitch.a.williams@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] [PATCH] Add VMDq support to ixgbe
From: "Santos, Jose Renato G" <joserenato.santos@xxxxxx>
Date: Thu, 5 Feb 2009 22:37:06 +0000
Accept-language: en-US
Acceptlanguage: en-US
Cc: "steven.smith@xxxxxxxxxxxxx" <steven.smith@xxxxxxxxxxxxx>
Delivery-date: Thu, 05 Feb 2009 14:39:17 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <b04b26320901281643ra02c818uc2fc059df634d327@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <b04b26320901281643ra02c818uc2fc059df634d327@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcmBrCbMaR+Kt0ZIQcKqYyms4VXYIQGMi6mw
Thread-topic: [Xen-devel] [PATCH] Add VMDq support to ixgbe
 
Mitch,

I finally found the time to test this.
I am still seeing the same kernel oops that was present on the previous patch 
when the ixgbe module was separated from the linux tree.
Could you please download the code from the latest netchannel2 tree and try to 
reproduce the problem?
I have attached my old email which has the kernel oops message and includes an 
older version of the patch that works for me.
You can compare that older version with the current code to find out what is 
the problem. 

Also the right config option to enable VMDq should be CONFIG_XEN_NETDEV2_VMQ 
and not CONFIG_XEN_NETDEV2_BACKEND.

Thanks

Renato

> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx 
> [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Mitch Williams
> Sent: Wednesday, January 28, 2009 4:43 PM
> To: xen-devel@xxxxxxxxxxxxxxxxxxx
> Subject: [Xen-devel] [PATCH] Add VMDq support to ixgbe
> 
> This patch adds experimental VMDq support (AKA Netchannel2 
> vmq) to the ixgbe driver.  This applies to the Netchannel2 
> tree, and should NOT be applied to the "normal" development tree.
> 
> To enable VMDq functionality, load the driver with the 
> command-line parameter VMDQ=<num queues>, as in:
> 
> $ modprobe ixgbe VMDQ=8
> 
> You can then set up PV domains to use the device by modifying 
> your VM configuration file from
>      vif = [ '<whatever>' ]
> to
>      vif2 = [ 'pdev=<netdev>' ]
> where <netdev> is the interface name for your 82598 board, 
> e.g peth0 in dom0.
> 
> The Netchannel2 code is VERY experimental at this stage and 
> should not be used in production environments.  This patch is 
> intended to support further development and testing efforts.
> 
> Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx>
> 
--- Begin Message ---
To: "Williams, Mitch A" <mitch.a.williams@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] RFC: Xen VMDq patch for ixgbe
From: "Santos, Jose Renato G" <joserenato.santos@xxxxxx>
Date: Thu, 22 Jan 2009 00:16:54 +0000
Accept-language: en-US
Acceptlanguage: en-US
Cc: "steven.smith@xxxxxxxxxxxxx" <steven.smith@xxxxxxxxxxxxx>, "Ronciak, John" <john.ronciak@xxxxxxxxx>
In-reply-to: <EA929A9653AAE14F841771FB1DE5A1365F59F11816@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <b04b26320901161505x29faff84na8ff5e13b746c2ea@xxxxxxxxxxxxxx> <EA929A9653AAE14F841771FB1DE5A1365F59F11816@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: "xen-devel-bounces@xxxxxxxxxxxxxxxxxxx" <xen-devel-bounces@xxxxxxxxxxxxxxxxxxx>
Thread-index: Acl4LwzwtNgV7rDPSLmcvHbstW7fagABr9kQAPvcjDA=
Thread-topic: [Xen-devel] RFC: Xen VMDq patch for ixgbe
Mitch,

It seems this last patch is not working properly
I get a kernel panic when the driver module loads (see panic message below).
Apparently the driver is trying to allocate guest memory (vmq_alloc_skb()) 
before the queue is allocated to a guest (there is no guest running when the 
ixgbe module is loaded). This is probably something easy to fix

I am able to use the previous version of the patch (version 1.3.31.3 attached) 
with no problem. Not sure what changed from version 1.3.31.3 to this new 
version 1.3.47. I am also attaching the buggy patch for  version 1.3.47 that I 
am using  so you can verify if I am using the right patch ...

Could you please take a look at this?

Thanks

Renato

=====================================

Unable to handle kernel paging request at 0000000000007800 RIP:
 [<ffffffff804600a4>] vmq_alloc_skb+0x64/0x1f0
PGD 79807067 PUD 79710067 PMD 0
Oops: 0000 [1] SMP
CPU 0
Modules linked in: video thermal fan button battery asus_acpi ac ixgbe
Pid: 0, comm: swapper Not tainted 2.6.18.8-xen0 #73
RIP: e030:[<ffffffff804600a4>]  [<ffffffff804600a4>] vmq_alloc_skb+0x64/0x1f0
RSP: e02b:ffffffff80793ca0  EFLAGS: 00010206
RAX: ffff88007acc5dd8 RBX: 0000000000000000 RCX: 0000000000080000
RDX: ffff88007b5d7740 RSI: 0000000000000001 RDI: ffff88007a450000
RBP: ffffffff80793cd0 R08: 0000000000000001 R09: ffff88007a450c80
R10: 000000000000003f R11: 000000000000012c R12: 0000000000007800
R13: 0000000000000000 R14: 0000000000000500 R15: 00000000000005f4
FS:  00002ba4a6b1eda0(0000) GS:ffffffff80737000(0000) knlGS:0000000000000000
CS:  e033 DS: 0000 ES: 0000
Process swapper (pid: 0, threadinfo ffffffff8074c000, task ffffffff8064d440)
Stack:  ffff88007a450000 ffffc200118f0000 0000000000000000 0000000000000000
 ffff88007b279070 ffff88007a450500 ffffffff80793d30 ffffffff88000d2f
 000003ff80793d50 ffff880075df0000 ffff88007a450000 ffff88007fe90800
Call Trace:
 <IRQ> [<ffffffff88000d2f>] :ixgbe:ixgbe_alloc_rx_buffers+0x15f/0x2e0
 [<ffffffff8800320b>] :ixgbe:ixgbe_clean_rx_irq+0x9eb/0xaa0
 [<ffffffff8800798e>] :ixgbe:ixgbe_clean_rxonly_many+0xbe/0x210
 [<ffffffff8800de3e>] :ixgbe:__kc_adapter_clean+0x2e/0x50
 [<ffffffff8052eba4>] net_rx_action+0xc4/0x1c0
 [<ffffffff80239eec>] __do_softirq+0x9c/0x140
 [<ffffffff8020b604>] call_softirq+0x1c/0x28
 [<ffffffff8020d7cc>] do_softirq+0x6c/0x100
 [<ffffffff80239d48>] irq_exit+0x48/0x50
 [<ffffffff80430b92>] evtchn_do_upcall+0x232/0x250
 [<ffffffff8020b13a>] do_hypervisor_callback+0x1e/0x2c
 <EOI> [<ffffffff802063aa>] hypercall_page+0x3aa/0x1000
 [<ffffffff802063aa>] hypercall_page+0x3aa/0x1000
 [<ffffffff8020eed2>] raw_safe_halt+0xc2/0xf0
 [<ffffffff80209b15>] xen_idle+0x75/0x90
 [<ffffffff8020926a>] cpu_idle+0xba/0xe0
 [<ffffffff802073b6>] rest_init+0x26/0x30
 [<ffffffff807568f5>] start_kernel+0x265/0x270
 [<ffffffff8075623d>] _sinittext+0x23d/0x250


Code: 4d 39 a6 00 73 00 00 4d 8d ae e8 72 00 00 0f 84 58 01 00 00
RIP  [<ffffffff804600a4>] vmq_alloc_skb+0x64/0x1f0
 RSP <ffffffff80793ca0>
CR2: 0000000000007800
 <0>Kernel panic - not syncing: Aiee, killing interrupt handler!
 (XEN) Domain 0 crashed: 'noreboot' set - not rebooting.


> -----Original Message-----
> From: Williams, Mitch A [mailto:mitch.a.williams@xxxxxxxxx]
> Sent: Friday, January 16, 2009 3:57 PM
> To: Williams, Mitch A; xen-devel@xxxxxxxxxxxxxxxxxxx
> Cc: steven.smith@xxxxxxxxxxxxx; Ronciak, John; Santos, Jose Renato G
> Subject: RE: [Xen-devel] RFC: Xen VMDq patch for ixgbe
>
> Whoops!  Attached the wrong patch file.  Please use this one.
>
> Sorry for the confusion.
> -Mitch
>
> >-----Original Message-----
> >From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
> >[mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Mitch
> >Williams
> >Sent: Friday, January 16, 2009 3:06 PM
> >To: xen-devel@xxxxxxxxxxxxxxxxxxx
> >Cc: steven.smith@xxxxxxxxxxxxx; Ronciak, John;
> joserenato.santos@xxxxxx
> >Subject: [Xen-devel] RFC: Xen VMDq patch for ixgbe
> >
> >Attached is a patch to enable Xen VMDq (AKA Netchannel2 vmq) for the
> >ixgbe driver.  This is intended for testing and development purposes
> >and should not be considered to be production-quality code.
> >
> >Please note that this does NOT apply to the Xen Linux kernel; it
> >applies to the ixgbe 1.3.47 release, available from
> >http://sourceforge.net/projects/e1000/.  You'll obviously
> also need an
> >Intel 82598-based 10 Gigabit network card and some sort of link
> >partner.  This will build against the current Netchannel2 source
> >available from http:xenbits.xen.org/ext/netchannel2.  You'll need to
> >enable "Net channel 2 support for multi-queue devices" in
> your kernel
> >config.
> >
> >To enable VMDq functionality, load the driver with the command-line
> >parameter VMDQ=<num queues>, as in:
> >
> >$ insmod ~/ixgbe-1.3.47/src/ixgbe.ko VMDQ=8
> >
> >You can then set up PV domains to use the device by
> modifying your VM
> >configuration file from
> >     vif = [ '<whatever>' ]
> >to
> >     vif2 = [ 'pdev=<netdev>' ]
> >where <netdev> is the interface name for your 82598 board,
> e.g peth0 in
> >dom0.
> >
> >Known issues (at least, known by me):
> >1) Must manually attach bridge device after starting domU vm.
> >Netchannel2 backend devices show up as ethNN, not vifN.M, so the
> >scripts don't automatically attach the interface.  Once your
> VM starts,
> >do ifconfig -a to see which new interface got added.  Then
> use "brctl
> >addif" to add this new interface the the bridge.
> >2) No broadcast replication.  This is a big one.  Incoming
> broadcasts
> >will ONLY go to dom0.  This means that your VMs can send ARP
> requests
> >and initiate IP sessions to outside machines, but outside machines
> >cannot initiate connections because the ARP requests don't go to the
> >domU VMs.
> >3) No loopback.  VMs cannot communicate with other VMs (including
> >dom0) on the same machine.
> >
> >Once I get this out, I'll start working on a proper backport of the
> >driver into the Xen kernel (2.6.18.8) tree.  I'll remove as
> much of the
> >compatibility cruft as is prudent and properly integrate it into
> >the Kbuild stuff.   When that's done, I'll send a complete
> patchset to
> >this list, including signed-off-by lines which can then be
> checked in
> >to Mercurial.
> >
> >Please review and comment, and if possible test.
> >
> >Thanks,
> >Mitch
> >

Attachment: ixgbe-1.3.31.3-xen-vmq.diff
Description: ixgbe-1.3.31.3-xen-vmq.diff

Attachment: ixgbe-1.3.47-xen-vmq.diff
Description: ixgbe-1.3.47-xen-vmq.diff

Attachment: ATT00001.txt
Description: ATT00001.txt


--- End Message ---
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>