From: Mathias Nyman <mathias.nyman-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
To: Sudip Mukherjee
<sudipm.mukherjee-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Mathias Nyman
<mathias.nyman-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>,
iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
Andy Shevchenko
<andriy.shevchenko-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
lukaszx.szulc-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org
Subject: Re: usb HC busted?
Date: Wed, 6 Jun 2018 17:12:21 +0300 [thread overview]
Message-ID: <06226ecb-baad-cc36-e9e3-797dabb0aa5e@linux.intel.com> (raw)
In-Reply-To: <20180604152848.db3msouyi4ektvv6@debian>
On 04.06.2018 18:28, Sudip Mukherjee wrote:
> On Thu, May 24, 2018 at 04:35:34PM +0300, Mathias Nyman wrote:
>>
>> Log show two rings having the same TRB segment dma address, this will completely mess up the transfer:
>>
>> While allocating rigs the enque pointers for the two rings are the same:
>>
>> 461.859315: xhci_ring_alloc: ISOC efa4e580: enq 0x0000000033386000(0x0000000033386000) deq 0x0000000033386000(0x0000000033386000) segs 2 stream 0 ...bs
>> 461.859320: xhci_ring_alloc: ISOC f0ce1f00: enq 0x0000000033386000(0x0000000033386000) deq 0x0000000033386000(0x0000000033386000) segs 2 stream 0 ...
>>
>> So something goes really wrong when allocating or setting up the rings in one of these functions:
>>
>> To verify and rule out dma_pool_zalloc(), could you apply the attached patch and reproduce with new logs?
>
> I spoke too soon in my yesterday's mail. We were able to reproduce it
> on the automated tests. The log and the trace is at:
> https://drive.google.com/open?id=1h-3r-1lfjg8oblBGkzdRIq8z3ZNgGZx-
>
> Will request you to have a look at it.
>
Odd and unlikely, but to me this looks like some issue in allocating dma memory
from pool using dma_pool_zalloc()
Adding people with DMA knowledge to cc, maybe someone knows what is going on.
Here's the story:
Sudip sees usb issues on a Intel Atom based board with 4.14.2 kernel.
All tracing points to dma_pool_zalloc() returning the same dma address block on
consecutive calls.
In the failing case dma_pool_zalloc() is called 3 - 6us apart.
<...>-26362 [002] .... 1186.756739: xhci_ring_mem_detail: MATTU xhci_segment_alloc dma @ 0x000000002d92b000
<...>-26362 [002] .... 1186.756745: xhci_ring_mem_detail: MATTU xhci_segment_alloc dma @ 0x000000002d92b000
<...>-26362 [002] .... 1186.756748: xhci_ring_mem_detail: MATTU xhci_segment_alloc dma @ 0x000000002d92b000
dma_pool_zalloc() is called from xhci_segment_alloc() in drivers/usb/host/xhci-mem.c
see:
https://elixir.bootlin.com/linux/v4.14.2/source/drivers/usb/host/xhci-mem.c#L52
prints above are custom traces added right after dma_pool_zalloc()
@@ -44,10 +44,15 @@ static struct xhci_segment *xhci_segment_alloc(struct xhci_hcd *xhci,
return NULL;
}
+ xhci_dbg_trace(xhci, trace_xhci_ring_mem_detail,
+ "MATTU xhci_segment_alloc dma @ %pad", &dma);
+
Any idea what's going on?
dma_pool_alloc() has a comment that it drops &pool->lock if it needs to allocate
a page, can it be related?
Thanks
-Mathias
next parent reply other threads:[~2018-06-06 14:12 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20180518100650.kfw6wijpncpvqx7j@debian>
[not found] ` <6790b352-add3-5531-115c-15db6c9c744d@intel.com>
[not found] ` <20180518130458.v73syr3fltdzdzzi@debian>
[not found] ` <881d576b-c7c1-ef74-c6bc-68b81371e7e0@intel.com>
[not found] ` <20180523212956.n4ztasdffg2aeaku@debian>
[not found] ` <80eace7a-976d-65a5-a353-54a2b18edd06@linux.intel.com>
[not found] ` <20180604152848.db3msouyi4ektvv6@debian>
2018-06-06 14:12 ` Mathias Nyman [this message]
[not found] ` <06226ecb-baad-cc36-e9e3-797dabb0aa5e-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-06-06 15:36 ` usb HC busted? Andy Shevchenko
[not found] ` <42ec4ab07d96b4302b875ac9c5eb76675bf85690.camel-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-06-06 16:45 ` Sudip Mukherjee
2018-06-07 7:40 ` Mathias Nyman
[not found] ` <2e8829c2-850d-6bca-5f0c-58a809dc9499-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-06-08 9:07 ` Sudip Mukherjee
2018-06-21 0:53 ` Sudip Mukherjee
2018-06-21 11:01 ` Mathias Nyman
[not found] ` <2b4fe87a-3706-0aa8-2b61-a9c1d1352a7a-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-06-25 16:15 ` Sudip Mukherjee
2018-06-27 11:59 ` Sudip Mukherjee
2018-06-27 12:20 ` Sudip Mukherjee
2018-06-29 11:41 ` Mathias Nyman
[not found] ` <4b269009-7593-a41f-9f0f-203ee174b52e-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-06-30 21:07 ` Sudip Mukherjee
2018-07-17 11:41 ` Sudip Mukherjee
2018-07-17 12:04 ` Greg KH
[not found] ` <20180717120411.GB28592-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2018-07-17 13:20 ` Sudip Mukherjee
2018-07-17 13:53 ` Greg KH
2018-07-17 14:31 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.1807171029310.1689-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2018-07-17 15:52 ` Greg KH
[not found] ` <20180717155259.GB2416-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2018-07-17 15:59 ` Sudip Mukherjee
2018-07-17 17:01 ` Sudip Mukherjee
2018-07-17 14:28 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.1807171022001.1689-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2018-07-17 14:40 ` Sudip Mukherjee
2018-07-17 14:49 ` Sudip Mukherjee
2018-07-17 15:08 ` Alan Stern
2018-07-17 15:10 ` Sudip Mukherjee
2018-07-19 10:59 ` Mathias Nyman
[not found] ` <f7801c24-fa98-6338-0b26-33a0ac9498bb-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-07-19 11:34 ` Sudip Mukherjee
2018-07-19 15:42 ` Mathias Nyman
[not found] ` <ab814c88-0857-5444-57da-34c21b8d7f6c-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-07-19 17:32 ` Sudip Mukherjee
2018-07-20 11:10 ` Mathias Nyman
[not found] ` <d3f5575c-c75b-ea16-6da9-b2fe3cc9c102-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-07-20 12:54 ` Sudip Mukherjee
2018-07-21 10:55 ` Sudip Mukherjee
2018-07-19 14:57 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.1807191046180.1308-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2018-07-20 11:46 ` Mathias Nyman
[not found] ` <f8cfa055-cfd8-db66-a386-72bf904e17cd-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-07-20 14:09 ` Alan Stern
2018-06-06 16:42 ` Sudip Mukherjee
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=06226ecb-baad-cc36-e9e3-797dabb0aa5e@linux.intel.com \
--to=mathias.nyman-vuqaysv1563yd54fqh9/ca@public.gmane.org \
--cc=andriy.shevchenko-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
--cc=hch-jcswGhMUV9g@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=lukaszx.szulc-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=mathias.nyman-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=sudipm.mukherjee-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
/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