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] Hiding pci devices from dom0 drivers

To: "Ian Campbell" <Ian.Campbell@xxxxxxxxxxxxx>, "Kay, Allen M" <allen.m.kay@xxxxxxxxx>
Subject: RE: [Xen-devel] Hiding pci devices from dom0 drivers
From: "You, Yongkang" <yongkang.you@xxxxxxxxx>
Date: Mon, 8 Oct 2007 14:05:04 +0800
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, "Han, Weidong" <weidong.han@xxxxxxxxx>
Delivery-date: Sun, 07 Oct 2007 23:06:21 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1191573098.5994.89.camel@xxxxxxxxxxxxxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcgHvTCthgIAz9qRRwqQ+qqQ/Wfd9QBsqRQg
Thread-topic: [Xen-devel] Hiding pci devices from dom0 drivers
>I've never had a problem with it. It can hang on unbind if the 
>device in
>question is in use but as soon as you free up the device (i.e. 
>close the
>application which accesses it) the script will continue.

Ian, I often met system crashing and rebooting several times when using
hiding pci script to hide a PCIe NIC. Is it a bug or expectable normal
condition?

Following is the serial console log when system crashing. 
----------------
Unable to handle kernel paging request at ffffc20000080000 RIP:
 [<ffffffff880eaeed>] :e1000:e1000_check_for_link+0x13/0x369
PGD dae067 PUD dad067 PMD dac067 PTE 0
Oops: 0000 [1] SMP
CPU 0
Modules linked in: nfs lockd nfs_acl bridge autofs4 hidp rfcomm l2cap
bluetoothePid: 0, comm: swapper Tainted: GF     2.6.18.8-xen #1
RIP: e030:[<ffffffff880eaeed>]  [<ffffffff880eaeed>]
:e1000:e1000_check_for_lin9RSP: e02b:ffffffff8052ee40  EFLAGS: 00010246
RAX: 00000000ffffffff RBX: ffff8800000a47f0 RCX: ffff8800000a4530
RDX: 0000000000000000 RSI: ffffc20000080000 RDI: 0000000000000000
RBP: 0000000000000000 R08: ef75cbd37cda3791 R09: ffffffffb8f63bae
R10: 000000003116eb91 R11: 0000000000000000 R12: ffff8800000a4000
R13: ffff88001fe62dc0 R14: ffffffff8052ee90 R15: ffffffffff578000
FS:  00002af533322ac0(0000) GS:ffffffff804d9000(0000)
knlGS:0000000000000000
CS:  e033 DS: 0000 ES: 0000
Process swapper (pid: 0, threadinfo ffffffff804f0000, task
ffffffff80461180)
Stack:  ffffffff804f1fd8 ffff8800000a4500 0000000000000100
ffffffff880e4b8e
 ffffffff80559500 ffffffff80559500 0000000000000100 ffffffff880e4b6a
 ffff8800000a4500 ffffffff8023a04c ffffffff8052ee90 ffffffff8052ee90
Call Trace:
 <IRQ> [<ffffffff880e4b8e>] :e1000:e1000_watchdog+0x24/0x622
 [<ffffffff880e4b6a>] :e1000:e1000_watchdog+0x0/0x622
 [<ffffffff8023a04c>] run_timer_softirq+0x175/0x1fd
 [<ffffffff80235ff3>] __do_softirq+0x7b/0x10d
 [<ffffffff8020b098>] call_softirq+0x1c/0x28
 [<ffffffff8020ce01>] do_softirq+0x62/0xd9
 [<ffffffff8020cca0>] do_IRQ+0x68/0x71
 [<ffffffff8034d985>] evtchn_do_upcall+0xee/0x165
 [<ffffffff8020abce>] do_hypervisor_callback+0x1e/0x2c
 <EOI> [<ffffffff802063aa>] hypercall_page+0x3aa/0x1000
 [<ffffffff802063aa>] hypercall_page+0x3aa/0x1000
 [<ffffffff8020eec9>] raw_safe_halt+0xb7/0xdd
 [<ffffffff80207040>] init+0x0/0x334
 [<ffffffff802082c3>] xen_idle+0x67/0x79
 [<ffffffff8020837f>] cpu_idle+0xaa/0xcd
 [<ffffffff804f97ea>] start_kernel+0x260/0x262
 [<ffffffff804f922b>] _sinittext+0x22b/0x231


Code: 8b 0e 44 8b 46 08 83 f8 01 77 30 83 fa 01 8b ae 80 01 00 00
RIP  [<ffffffff880eaeed>] :e1000:e1000_check_for_link+0x13/0x369
 RSP <ffffffff8052ee40>
CR2: ffffc20000080000
 <0>Kernel panic - not syncing: Aiee, killing interrupt handler!
 (XEN) Domain 0 crashed: rebooting machine in 5 seconds.
----------------------

Best Regards,
Yongkang You
 

>-----Original Message-----
>From: Ian Campbell [mailto:Ian.Campbell@xxxxxxxxxxxxx] 
>Sent: Friday, October 05, 2007 4:32 PM
>To: Kay, Allen M
>Cc: Keir Fraser; xen-devel@xxxxxxxxxxxxxxxxxxx; Han, Weidong; 
>You, Yongkang
>Subject: RE: [Xen-devel] Hiding pci devices from dom0 drivers
>
>On Thu, 2007-10-04 at 11:53 -0700, Kay, Allen M wrote:
>> What are your experiences with the reliability of the following
>> "pciback" script to dynamically "hide" pci devices after boot?
>> 
>> I found it cause system hangs about 50% of the time.
>
>I've never had a problem with it. It can hang on unbind if the 
>device in
>question is in use but as soon as you free up the device (i.e. 
>close the
>application which accesses it) the script will continue.
>
>> I'm also having some issues with xen0 kernel.  It has e1000 driver as
>> builtin.  This causes problems since I need to use the latest e1000
>> driver from sourceforge so I need to modify xen0 linux config to mark
>> e1000 as "m".
>
>The -xen0 is intended to be a mostly statically compiled kernel with
>drivers for the most common hardware. If you want a modular kernel you
>should be using the -xen kernel.
>
>> In any case, the path of least resistence for me right now 
>is to come up
>> with a set of instructions to ask people to download 
>linux-2.6.18-xen.hg
>> manually, move it to xen-unstable.hg, turn on PCIDEV_BACKEND='y' in
>> config file, and then do "make install" in xen-unstable.hg.
>
>The xen-unstable build system will do the download phase for you. You
>can also use the "make CONFIGMODE=menuconfig linux-2.6-xen0-config"
>style targets.
>
>Ian.
>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>