From: Dan Williams <dan.j.williams@intel.com>
To: Dan Williams <dan.j.williams@intel.com>,
Jonathan Nieder <jrnieder@gmail.com>,
xen-devel@lists.xensource.com,
pkg-xen-devel@lists.alioth.debian.org,
Maciej Sosnowski <maciej.sosnowski@intel.com>,
linux-kernel@vger.kernel.org, William Dauchy <wdauchy@gmail.com>,
Konrad Rzeszutek Wilk <konrad@darnok.org>,
Dave Jiang <dave.jiang@intel.com>
Subject: Re: [Pkg-xen-devel] ioatdma: Boot process hangs then reboots when using Xen + Linux 3.2
Date: Fri, 2 Mar 2012 11:31:56 -0800 [thread overview]
Message-ID: <CABE8wwvd-R1VkyFL-eZYDB9O05zyWkVQ8pXuMb8GcdAW=5qT3A@mail.gmail.com> (raw)
In-Reply-To: <20120302175719.GA1468@wavehammer.waldi.eu.org>
On Fri, Mar 2, 2012 at 9:57 AM, Bastian Blank <waldi@debian.org> wrote:
> On Fri, Mar 02, 2012 at 08:44:00AM -0800, Dan Williams wrote:
>> On Fri, Mar 2, 2012 at 8:21 AM, Bastian Blank <waldi@debian.org> wrote:
>> > On Thu, Mar 01, 2012 at 10:42:44PM -0800, Dan Williams wrote:
>> >> WARN_ON may work, but then kernel may be subject random hangs from missed
>> >> i/o completions.
>> ...actually descriptors completing too early.
>
> The interrupt happens while the module is still loading, so most likely
> directly after enabling them. There should be no request in flight yet.
>
> What puzzles me is the mix of different data types in the ioatdma
> driver:
>
> | u64 completion = *chan->completion;
> | unsigned long phys_complete = completion & ~0x3f;
>
> The state is 64bit long, but is down converted to a 32bit value without
> anything.
>
> phys_complete (a 32 bit value) gets compared to struct
> dma_async_tx_descriptor.phys, which is defined as dma_addr_t, a _64_ bit
> value.
The assumption is that the driver's control structures are not in high
memory so all address values will only have 32-bits of valid data, but
maybe xen32 changes that assumption?
Can you send the log of the driver load with debug enabled?
diff --git a/drivers/dma/ioat/dma.c b/drivers/dma/ioat/dma.c
index a4d6cb0..82472de 100644
--- a/drivers/dma/ioat/dma.c
+++ b/drivers/dma/ioat/dma.c
@@ -24,7 +24,7 @@
* This driver supports an Intel I/OAT DMA engine, which does asynchronous
* copy operations.
*/
-
+#define DEBUG
#include <linux/init.h>
#include <linux/module.h>
#include <linux/slab.h>
diff --git a/drivers/dma/ioat/dma_v2.c b/drivers/dma/ioat/dma_v2.c
index 5d65f83..da337e7 100644
--- a/drivers/dma/ioat/dma_v2.c
+++ b/drivers/dma/ioat/dma_v2.c
@@ -24,7 +24,7 @@
* This driver supports an Intel I/OAT DMA engine (versions >= 2), which
* does asynchronous data movement and checksumming operations.
*/
-
+#define DEBUG
#include <linux/init.h>
#include <linux/module.h>
#include <linux/slab.h>
next prev parent reply other threads:[~2012-03-02 19:32 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAJ75kXZ-2vWZpG7Uz3firg6ew4y_DdorXotkAkUGSK0GWLMUQQ@mail.gmail.com>
[not found] ` <20120127144737.GA27750@andromeda.dapyr.net>
[not found] ` <20120219223125.GA820@burratino>
[not found] ` <20120220181618.GD17566@burratino>
[not found] ` <4F4891B8.9050008@goirand.fr>
2012-03-02 5:57 ` Jonathan Nieder
[not found] ` <CABE8wwt8Lngy=-iL7QGCofy0nW5-q4VJDS_ovEr96fGdYm72ew@mail.gmail.com>
2012-03-02 16:21 ` [Pkg-xen-devel] " Bastian Blank
2012-03-02 16:44 ` Dan Williams
2012-03-02 17:57 ` Bastian Blank
2012-03-02 19:31 ` Dan Williams [this message]
2012-03-02 20:08 ` Bastian Blank
2012-03-02 20:16 ` Dan Williams
2012-03-02 20:56 ` Bastian Blank
2012-03-02 21:17 ` Dan Williams
2012-03-05 15:26 ` Thomas Goirand
2012-03-05 15:38 ` Dan Williams
2012-03-06 9:20 ` Thomas Goirand
2012-03-06 10:33 ` Bastian Blank
2012-03-06 14:14 ` Dan Williams
2012-03-06 14:39 ` Ian Campbell
2012-03-13 16:49 ` [Xen-devel] " Konrad Rzeszutek Wilk
2012-03-11 22:06 ` Jonathan Nieder
2012-03-23 23:55 ` Dan Williams
2012-03-24 1:29 ` William Dauchy
2012-03-24 2:25 ` William Dauchy
2012-03-24 3:34 ` Williams, Dan J
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='CABE8wwvd-R1VkyFL-eZYDB9O05zyWkVQ8pXuMb8GcdAW=5qT3A@mail.gmail.com' \
--to=dan.j.williams@intel.com \
--cc=dave.jiang@intel.com \
--cc=jrnieder@gmail.com \
--cc=konrad@darnok.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maciej.sosnowski@intel.com \
--cc=pkg-xen-devel@lists.alioth.debian.org \
--cc=wdauchy@gmail.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®