From: Jean Baptiste Favre <xen-devel@jbfavre.org>
To: xen-devel@lists.xensource.com
Subject: Re: PCI passthrough issue
Date: Fri, 04 Feb 2011 09:43:01 +0100 [thread overview]
Message-ID: <4D4BBC15.4080201@jbfavre.org> (raw)
In-Reply-To: <20110202174250.GA8148@dumpdata.com>
Hello,
Sorry for not answering earlier.
I made a test with OpenWRT, applying patches bellow.
DomU boots, can connect, but nothing changed.
I still have incoming packets dropped without any console log.
Looking deeper, I can see ARP request coming in on my GW, replies coming
out.
On the domU, arp command output is:
# arp
IP address HW type Flags HW address Mask
Device
10.0.0.1 0x1 0x0 00:00:00:00:00:00 * eth0
So, now I've an Layer 2 issue as well :(
I'm still trying to make my Debian kernel working so that I can test on
Debian too.
Regards,
JB
>From Konrad:
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 7d85a38..37c0631 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -2331,7 +2331,7 @@ static struct sk_buff *receive_copy(struct
sky2_port *sky2,
if (likely(skb)) {
pci_dma_sync_single_for_cpu(sky2->hw->pdev, re->data_addr,
length, PCI_DMA_FROMDEVICE);
- skb_copy_from_linear_data(re->skb, skb->data, length);
+ skb_copy_from_linear_data(skb, re->skb->data, length);
skb->ip_summed = re->skb->ip_summed;
skb->csum = re->skb->csum;
pci_dma_sync_single_for_device(sky2->hw->pdev, re->data_addr,
And from Ian:
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 7d85a38..645d9e9 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -2339,6 +2339,7 @@ static struct sk_buff *receive_copy(struct
sky2_port *sky2,
re->skb->ip_summed = CHECKSUM_NONE;
skb_put(skb, length);
}
+ WARN(skb == NULL, "sky2: receive_copy failed netdev_alloc_skb_ip_align
length %u\n", length);
return skb;
}
@@ -2386,10 +2387,15 @@ static struct sk_buff *receive_new(struct
sky2_port *sky2,
nre.skb = sky2_rx_alloc(sky2);
if (unlikely(!nre.skb))
+ {
+ WARN(1, "sky2: receive_new failed sky2_rx_alloc\n");
goto nobuf;
-
+ }
if (sky2_rx_map_skb(sky2->hw->pdev, &nre, hdr_space))
+ {
+ WARN(1, "sky2: receive_new failed sky2_rx_map_skb\n");
goto nomap;
+ }
skb = re->skb;
sky2_rx_unmap_skb(sky2->hw->pdev, re);
diff --git a/net/core/dev.c b/net/core/dev.c
index 54277df..9c99612 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1516,6 +1516,7 @@ int dev_forward_skb(struct net_device *dev, struct
sk_buff *skb)
if (unlikely(!(dev->flags & IFF_UP) ||
(skb->len > (dev->mtu + dev->hard_header_len + VLAN_HLEN)))) {
+ printk(KERN_CRIT "dev_forward_skb dropping skb\n");
atomic_long_inc(&dev->rx_dropped);
kfree_skb(skb);
return NET_RX_DROP;
@@ -2700,6 +2701,7 @@ enqueue:
local_irq_restore(flags);
+ printk(KERN_CRIT "enqueue_to_backlog dropping skb\n");
atomic_long_inc(&skb->dev->rx_dropped);
kfree_skb(skb);
return NET_RX_DROP;
@@ -3125,6 +3127,7 @@ ncls:
if (pt_prev) {
ret = pt_prev->func(skb, skb->dev, pt_prev, orig_dev);
} else {
+ printk(KERN_CRIT "__netif_receive_skb dropping skb proto %#x\n", type);
atomic_long_inc(&skb->dev->rx_dropped);
kfree_skb(skb);
/* Jamal, now you will not able to escape explaining
Le 02/02/2011 18:42, Konrad Rzeszutek Wilk a écrit :
> On Wed, Feb 02, 2011 at 11:24:51AM +0100, Jean Baptiste Favre wrote:
>> Hello Ian,
>>
>> My domU config file:
>>
>> # cat /cluster/xen/xps-106.cfg
>> kernel = '/cluster/kernels/vmlinuz-2.6.37-trunk-686-bigmem'
>> ramdisk = '/cluster/kernels/initrd.img-2.6.37-trunk-686-bigmem'
>> builder = 'linux'
>> memory = '398'
>> vcpus = '1'
>> cpus = '2'
>> localtime = 0
>> serial = 'pty'
>> boot = 'cdn'
>> disk = [ 'drbd:xps-106,xvda,w' ]
>> on_poweroff = 'destroy'
>> on_reboot = 'restart'
>> on_crash = 'restart'
>> extra = "root=/dev/mapper/xps--106-root ro iommu=soft swiotlb=force
>> console=hvc0 xencons=tty"
>> pci = [ '04:00.0' ]
>> name = 'xps-106'
>> hostname = 'xps-106.clichy.jbfavre.org'
>>
>>
>> Le 02/02/2011 10:27, Ian Campbell a écrit :
>>> On Tue, 2011-02-01 at 22:04 +0000, Jean Baptiste Favre wrote:
>>>> Le 01/02/2011 17:23, Ian Campbell a écrit :
>>>
>>>>> I assume you are not seeing "rx mapping error" in your domU dmesg? Did
>>>>> you post a full guest console log at some point? Comparing the logs for
>>>>> the 256MB, 398MB and 512MB guest RAM case might be useful.
>>>> No sure I've ever posted that logs. But I can redo my tests :)
>>>
>>> yes, please do that.
>> Please find attached both console startup logs with 256M and 512M:
>> 256M_domU_console_logs.txt
>> 512M_domU_console_logs.txt
>>
>> For 512M, I saw some kernel CallTrace I can not explain. There are not
>> present with 256M.
>>
>> For 398M memory, I can't even start domU :
>> # xm create /cluster/xen/xps-106.cfg -c
>> Using config file "/cluster/xen/xps-106.cfg".
>> [215739.007871] pciback 0000:04:00.0: device has been assigned to
>> another domain! Over-writting the ownership, but beware.
>> Started domain xps-106 (id=23)
>> (XEN) mm.c:798:d23 Non-privileged (23) attempt to map I/O space 00000000
>> (XEN) mm.c:4644:d23 ptwr_emulate: could not get_page_from_l1e()
>>
>> As I told you, I'm still using Debian 2.6.37 kernel because I've some
>> problem to compile 2.6.32.27 from Jeremy's git repository.
>> I hope I can get it compiled today so I'll be able to test with that
>> kernel as well.
>
> So I've tried this on my Abit IP-35 box which has a
>
> 04:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller (rev 13)
> Subsystem: ABIT Computer Corp. Device 1085
> Flags: bus master, fast devsel, latency 0, IRQ 29
> Memory at fdefc000 (64-bit, non-prefetchable) [size=16K]
> I/O ports at be00 [size=256]
> Expansion ROM at <ignored> [disabled]
> Capabilities: [48] Power Management version 3
> Capabilities: [50] Vital Product Data
> Capabilities: [5c] MSI: Enable+ Count=1/1 Maskable- 64bit+
> Capabilities: [e0] Express Legacy Endpoint, MSI 00
> Capabilities: [100] Advanced Error Reporting
> Kernel driver in use: sky2
> Kernel modules: sky2
>
> And when I launch this guest with a 32-bit DomU:
> kernel="/mnt/lab/latest/vmlinuz"
> ramdisk="/mnt/lab/latest/initramfs.cpio.gz"
> extra="console=hvc0 debug iommu=soft"
> memory=320
> vcpus=1
> cpu='2'
> on_crash="preserve"
> #vif = [ 'bridge=switch' ]
> pci = ["04:00.0"]
> vfb = [ 'vnc=1, vnclisten=0.0.0.0,vncunused=1']
>
> And played around with the 'extra' to add 'swiotlb=force'.
>
> The moment I had 'swiotlb=force' I could not get any DHCP
> address from the NIC. If I did not have 'swiotlb=force' it would
> work just fine (can ping any size, etc, this is with 320MB)
>
>
> For fun, I upped the memory (320->720) and kept 'swiotlb=force' in effect.
> Same effect: can't do DHCP.
>
> I look to have a different issue than you, which is that whenever I use
> swiotlb=force, things go haywire.
>
> Fyi, this is what DomU tells me:
>
> 12:22:41 # 9 :~/
>> dmesg |grep Memor
> [ 0.000000] Memory: 145640k/335872k available (3731k kernel code, 189784k reserved, 1565k data, 436k init, 0k highmem)
>
> 12:22:56 # 10 :~/
>> uname -a
> Linux (none) 2.6.38-rc2-00028-gf2a2d8b #2 SMP Wed Feb 2 12:10:25 EST 2011 i686 i686 i386 GNU/Linux
> rnet driver.
> [ 0.921406] udevd (1126): /proc/1126/oom_adj is deprecated, please use /proc/1126/oom_score_adj instead.
> [ 0.984886] sky2: driver version 1.28
> [ 0.995595] sky2 0000:04:00.0: BAR 0: set to [mem 0xfdefc000-0xfdefffff 64bit] (PCI address [0xfdefc000-0xfdefffff])
> [ 0.995662] sky2 0000:04:00.0: BAR 2: set to [io 0xbe00-0xbeff] (PCI address [0xbe00-0xbeff])
> [ 0.995697] sky2 0000:04:00.0: enabling device (0000 -> 0003)
> [ 0.996440] sky2 0000:04:00.0: Xen PCI mapped GSI18 to IRQ27
>
> (This is the #master branch from git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git)
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
>
next prev parent reply other threads:[~2011-02-04 8:43 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-12 15:38 PCI passthrough issue Jean Baptiste Favre
2011-01-12 15:43 ` Konrad Rzeszutek Wilk
2011-01-12 15:53 ` Jean Baptiste Favre
2011-01-12 16:09 ` Jean Baptiste Favre
2011-01-12 16:36 ` Konrad Rzeszutek Wilk
2011-01-12 16:56 ` Jean Baptiste Favre
2011-01-12 17:26 ` Konrad Rzeszutek Wilk
2011-01-12 17:44 ` Jean Baptiste Favre
2011-01-12 18:32 ` Konrad Rzeszutek Wilk
2011-01-12 20:07 ` Jean Baptiste Favre
2011-01-12 21:40 ` Konrad Rzeszutek Wilk
2011-01-12 21:46 ` Jean Baptiste Favre
2011-01-12 22:18 ` Jean Baptiste Favre
2011-01-13 11:28 ` Jean Baptiste Favre
2011-01-13 19:18 ` Jean Baptiste Favre
2011-01-13 20:19 ` Konrad Rzeszutek Wilk
2011-01-13 20:44 ` Jean Baptiste Favre
2011-01-14 14:53 ` Konrad Rzeszutek Wilk
2011-01-14 23:29 ` Jean Baptiste Favre
2011-01-17 8:59 ` Jean Baptiste Favre
2011-01-17 13:58 ` Jean Baptiste Favre
2011-01-22 10:22 ` Jean Baptiste Favre
2011-01-27 20:27 ` Konrad Rzeszutek Wilk
2011-01-27 21:47 ` Jean Baptiste Favre
2011-01-28 15:47 ` Jean Baptiste Favre
2011-02-01 11:34 ` Ian Campbell
2011-02-01 12:17 ` Jean Baptiste Favre
2011-02-01 13:20 ` Ian Campbell
2011-02-01 14:12 ` Jean Baptiste Favre
2011-02-01 14:18 ` Ian Campbell
2011-02-01 15:14 ` Jean Baptiste Favre
2011-02-01 15:38 ` Jean Baptiste Favre
2011-02-01 16:23 ` Ian Campbell
2011-02-01 19:37 ` Konrad Rzeszutek Wilk
2011-02-01 22:06 ` Jean Baptiste Favre
2011-02-02 9:12 ` Ian Campbell
2011-02-01 23:01 ` Jean Baptiste Favre
2011-02-02 9:44 ` Ian Campbell
2011-02-02 15:38 ` Konrad Rzeszutek Wilk
2011-02-02 15:55 ` Ian Campbell
2011-02-02 15:56 ` Jean Baptiste Favre
2011-02-01 22:04 ` Jean Baptiste Favre
2011-02-02 9:27 ` Ian Campbell
2011-02-02 10:24 ` Jean Baptiste Favre
2011-02-02 10:59 ` Ian Campbell
2011-02-02 11:33 ` Jean Baptiste Favre
2011-02-02 17:42 ` Konrad Rzeszutek Wilk
2011-02-04 8:43 ` Jean Baptiste Favre [this message]
2011-02-04 8:53 ` Ian Campbell
2011-02-04 8:54 ` Jean Baptiste Favre
2011-02-04 10:12 ` Jean Baptiste Favre
2011-02-04 11:04 ` Ian Campbell
2011-02-04 11:25 ` Jean Baptiste Favre
2011-02-04 11:28 ` Ian Campbell
2011-02-04 13:15 ` Jean Baptiste Favre
2011-02-04 13:50 ` Ian Campbell
2011-02-04 14:01 ` Jean Baptiste Favre
2011-02-09 9:59 ` Jean Baptiste Favre
2011-02-18 21:14 ` Jean Baptiste Favre
2011-02-25 14:40 ` Konrad Rzeszutek Wilk
2011-02-28 10:00 ` Jean Baptiste Favre
2011-02-28 12:18 ` Jean Baptiste Favre
2011-02-28 15:01 ` Konrad Rzeszutek Wilk
2011-02-28 15:17 ` Jean Baptiste Favre
[not found] ` <4D6CB851.40103@jbfavre.org>
2011-03-03 22:12 ` Konrad Rzeszutek Wilk
2011-03-03 22:47 ` Jean Baptiste Favre
2011-03-03 22:58 ` Konrad Rzeszutek Wilk
2011-03-04 7:25 ` Jean Baptiste Favre
2011-03-16 3:14 ` Konrad Rzeszutek Wilk
2011-03-25 13:06 ` Jean Baptiste Favre
2011-02-01 15:38 ` Ian Campbell
2011-02-01 16:16 ` Jean Baptiste Favre
2011-01-12 21:44 ` Jean Baptiste Favre
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=4D4BBC15.4080201@jbfavre.org \
--to=xen-devel@jbfavre.org \
--cc=xen-devel@lists.xensource.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.