mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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>

  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®