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-users

[Xen-users] DMA Crash when I test GPL Windows PV Driver by iperf

To: xen-users@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-users] DMA Crash when I test GPL Windows PV Driver by iperf
From: Qian Huibin <qianhb@xxxxxxxxx>
Date: Sun, 8 Nov 2009 21:22:55 +0800
Cc: james.harper@xxxxxxxxxxxxxxxx
Delivery-date: Mon, 09 Nov 2009 05:00:33 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:cc:content-type; bh=e1gQ1h8dE1rrngs3Lk3Sj7r9ryt9Irj6WPD+KmQICMI=; b=etVEQoKEXpVCdiCbDDUwCmog8IotPShPPc8eUf4jY8/gsm9eEL57wUoPVTo6Fd/E1u v3mx54gfkq+GUzLzJ94xcnjIrSAkOprAhtMZUe2gMcDu6SWGHQgDc6KSAD+zRVrKhBqZ TKc6PwlbmqVAqijwRJjJdjBZwBr4sNzE8SMuU=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:cc:content-type; b=qn0udlWLu26O/aX32crJsSh5QrW/ebgVblk7aY0H9QUL+21tpAV6Ty/C6PtEoAzUYq vvgR3yvzOI58Av+Xdq6pNzitq4fRS+iK+SPuNtH/pkKYsgt63is8kDFdjzIo+2o13ZQL 7Ogp4v+w8tdhmNg6aXKoM48k3Sb37m9QZXlEY=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
Hey All,
 
When I did a test of GPL Windows PV Driver on Windows XP SP2 by iperf, I found a DMA Crash.
And the Crash occurs every times.
The test is as following:
I install GPL Windows PV Driver (0.10.0.130) for XP as DomU , and Suse 11 as Dom0 on Xen 3.3.1.
When I set DomU as iperf's Client and Dom0 as Server.
 
iperf client on DomU (XP):
iperf -c $SERVER_IP -i 1 -l 1 -w 64k
iperf server on Dom0 (Suse 11 & xen 3.3.1)
iperf -s -l 1 l -w 64k
 
Scatter/gather enabled
 
IF I SET -l (buff size ) as 1 byte ( in fact from 1 byte to 9 bytes), the DomU (XP) crashed everything (Scatter/gather enabled).
 
I use windbg to analyze the Windows Mem Dump, I found the crash callstack  as following:
 
XenNet_RxBufferCheck() -> ... ->  XenPci_DOP_BuildScatterGatherList() -> XenPci_DOP_BuildScatterGatherListButDontExecute()
 
        for (i = 0; remaining > 0; i++)
        {
          pfn = MmGetMdlPfnArray(curr_mdl)[pfn_offset + i];
          ASSERT(pfn);
          gref = (grant_ref_t)GntTbl_GrantAccess(xpdd, 0, (ULONG)pfn, FALSE, INVALID_GRANT_REF);
          ASSERT(gref != INVALID_GRANT_REF); // gref gets a value of INVALID_GRANT_REF, Crash occurs!!!
          sglist->Elements[sg_element].Address.QuadPart = (LONGLONG)(gref << PAGE_SHIFT) | offset;
          sglist->Elements[sg_element].Length = min(min(PAGE_SIZE - offset, remaining), total_remaining);
          total_remaining -= sglist->Elements[sg_element].Length;
          remaining -= sglist->Elements[sg_element].Length;
          offset = 0;
          sg_element++;
        }
I donot know how to fix it.
I think the Satter/Gather is related to transfer NOT receive, why crash when receving data.
because of  -l set as 1 byte, then using more gref to store outgoing data, and gref is NOT enough?
 
pls have a look at this problem.
 
Thanks

--
Huibin.QIAN
Hangzhou,China
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
<Prev in Thread] Current Thread [Next in Thread>