From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: usb HC busted? From: Mathias Nyman Message-Id: <2b4fe87a-3706-0aa8-2b61-a9c1d1352a7a@linux.intel.com> Date: Thu, 21 Jun 2018 14:01:30 +0300 To: Sudip Mukherjee , Andy Shevchenko Cc: Andy Shevchenko , Mathias Nyman , linux-usb@vger.kernel.org, lukaszx.szulc@intel.com, Christoph Hellwig , Marek Szyprowski , iommu@lists.linux-foundation.org List-ID: T24gMjEuMDYuMjAxOCAwMzo1MywgU3VkaXAgTXVraGVyamVlIHdyb3RlOgo+IEhpIE1hdGhpYXMs IEFuZHksCj4gCj4gT24gVGh1LCBKdW4gMDcsIDIwMTggYXQgMTA6NDA6MDNBTSArMDMwMCwgTWF0 aGlhcyBOeW1hbiB3cm90ZToKPj4gT24gMDYuMDYuMjAxOCAxOTo0NSwgU3VkaXAgTXVraGVyamVl IHdyb3RlOgo+Pj4gSGkgQW5keSwKPj4+Cj4+PiBBbmQgd2UgbWVldCBhZ2Fpbi4gOikKPj4+Cj4+ PiBPbiBXZWQsIEp1biAwNiwgMjAxOCBhdCAwNjozNjozNVBNICswMzAwLCBBbmR5IFNoZXZjaGVu a28gd3JvdGU6Cj4+Pj4gT24gV2VkLCAyMDE4LTA2LTA2IGF0IDE3OjEyICswMzAwLCBNYXRoaWFz IE55bWFuIHdyb3RlOgo+Pj4+PiBPbiAwNC4wNi4yMDE4IDE4OjI4LCBTdWRpcCBNdWtoZXJqZWUg d3JvdGU6Cj4+Pj4+PiBPbiBUaHUsIE1heSAyNCwgMjAxOCBhdCAwNDozNTozNFBNICswMzAwLCBN YXRoaWFzIE55bWFuIHdyb3RlOgo+Pj4+Pj4+Cj4+Pj4KPj4+Pj4gT2RkIGFuZCB1bmxpa2VseSwg YnV0IHRvIG1lIHRoaXMgbG9va3MgbGlrZSBzb21lIGlzc3VlIGluIGFsbG9jYXRpbmcKPj4+Pj4g ZG1hIG1lbW9yeQo+Pj4+PiBmcm9tIHBvb2wgdXNpbmcgZG1hX3Bvb2xfemFsbG9jKCkKPj4+Pj4K Pj4+Pj4KPj4+Pj4gSGVyZSdzIHRoZSBzdG9yeToKPj4+Pj4gU3VkaXAgc2VlcyB1c2IgaXNzdWVz IG9uIGEgSW50ZWwgQXRvbSBiYXNlZCBib2FyZCB3aXRoIDQuMTQuMiBrZXJuZWwuCj4+Pj4+IEFs bCB0cmFjaW5nIHBvaW50cyB0byBkbWFfcG9vbF96YWxsb2MoKSByZXR1cm5pbmcgdGhlIHNhbWUg ZG1hIGFkZHJlc3MKPj4+Pj4gYmxvY2sgb24KPj4+Pj4gY29uc2VjdXRpdmUgY2FsbHMuCj4+Pj4+ Cj4+Pj4+IEluIHRoZSBmYWlsaW5nIGNhc2UgZG1hX3Bvb2xfemFsbG9jKCkgaXMgY2FsbGVkIDMg LSA2dXMgYXBhcnQuCj4+Pj4+Cj4+Pj4+IDwuLi4+LTI2MzYyIFswMDJdIC4uLi4gIDExODYuNzU2 NzM5OiB4aGNpX3JpbmdfbWVtX2RldGFpbDogTUFUVFUKPj4+Pj4geGhjaV9zZWdtZW50X2FsbG9j IGRtYSBAIDB4MDAwMDAwMDAyZDkyYjAwMAo+Pj4+PiA8Li4uPi0yNjM2MiBbMDAyXSAuLi4uICAx MTg2Ljc1Njc0NTogeGhjaV9yaW5nX21lbV9kZXRhaWw6IE1BVFRVCj4+Pj4+IHhoY2lfc2VnbWVu dF9hbGxvYyBkbWEgQCAweDAwMDAwMDAwMmQ5MmIwMDAKPj4+Pj4gPC4uLj4tMjYzNjIgWzAwMl0g Li4uLiAgMTE4Ni43NTY3NDg6IHhoY2lfcmluZ19tZW1fZGV0YWlsOiBNQVRUVQo+Pj4+PiB4aGNp X3NlZ21lbnRfYWxsb2MgZG1hIEAgMHgwMDAwMDAwMDJkOTJiMDAwCj4+Pj4+Cj4+Pj4+IGRtYV9w b29sX3phbGxvYygpIGlzIGNhbGxlZCBmcm9tIHhoY2lfc2VnbWVudF9hbGxvYygpIGluCj4+Pj4+ IGRyaXZlcnMvdXNiL2hvc3QveGhjaS1tZW0uYwo+Pj4+PiBzZWU6Cj4+Pj4+IGh0dHBzOi8vZWxp eGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y0LjE0LjIvc291cmNlL2RyaXZlcnMvdXNiL2hvc3QveGhj aS0KPj4+Pj4gbWVtLmMjTDUyCj4+Pj4+Cj4+Pj4+IHByaW50cyBhYm92ZSBhcmUgY3VzdG9tIHRy YWNlcyBhZGRlZCByaWdodCBhZnRlciBkbWFfcG9vbF96YWxsb2MoKQo+Pj4+Cj4+Pj4gRm9yIGJl dHRlciB1bmRlcnN0YW5kaW5nIGl0IHdvdWxkIGJlIGdvb2QgdG8gaGF2ZSBkbWFfcG9vbF9mcmVl KCkgY2FsbHMKPj4+PiBkZWJ1Z2dlZCBhcyB3ZWxsLgo+Pj4KPj4KPj4gU3VkaXAgaGFzIGEgZnVs bCAoMzk0TSB1bnBhY2tlZCkgdHJhY2UgYXQ6Cj4+IGh0dHBzOi8vZHJpdmUuZ29vZ2xlLmNvbS9v cGVuP2lkPTFoLTNyLTFsZmpnOG9ibEJHa3pkUklxOHozWk5nR1p4LQo+Pgo+IAo+IDxzbmlwPgo+ IAo+PiBCdXQgdGhlbiBpdCBnZXRzIHN0dWNrLCBmb3IgdGhlIHdob2xlIHJpbmcyIGRtYV9wb29s X3phbGxvYygpIGp1c3QgcmV0dXJucyB0aGUgc2FtZSBkbWEgYWRkcmVzcyBhcyB0aGUgbGFzdCBz ZWdtZW50IGZvcgo+PiByaW5nMToweDJkOTJiMDAwLiBMYXN0IHBhcnQgb2YgdHJhY2Ugc25pcHBl dCBpcyBqdXN0IGFub3RoZXIgcmluZyBiZWluZyBmcmVlZC4KPiAKPiBBIGdlbnRsZSBwaW5nIG9u IHRoaXMuIEFueSBpZGVhIG9uIHdoYXQgdGhlIHByb2JsZW0gbWlnaHQgYmUgYW5kIGFueQo+IHBv c3NpYmxlIGZpeD8KPiAKCkkgdHJpZWQgdG8gcmVwcm9kdWNlIGl0IGJ5IHF1aWNrbHkgaGFja2lu ZyB4aGNpIHRvIGFsbG9jYXRlIGFuZCBmcmVlIDUwIHNlZ21lbnRzIGVhY2ggdGltZQp3ZSBub3Jt YWxseSBhbGxvY2F0ZSBvbmUgc2VnbWVudCBmcm9tIGRtYXBvb2wuCkkgbGV0IGl0IHJ1biBmb3Ig MyBkYXlzIG9uIGEgQXRvbSBiYXNlZCBwbGF0Zm9ybSwgYnV0IGNvdWxkIG5vdCByZXByb2R1Y2Ug aXQuCgp4aGNpIHRlc3RoYWNrIGNhbiBiZSBmb3VuZCBoZXJlOgoKZ2l0Oi8vZ2l0Lmtlcm5lbC5v cmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L21ueW1hbi94aGNpLmdpdCBkbWFwb29sLXRlc3QK aHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvbW55bWFuL3ho Y2kuZ2l0L2xvZy8/aD1kbWFwb29sLXRlc3QKClRlc3RlZCBieSBqdXN0IGxlYXZpbmcgdGhlIGZv bGxvd2luZyBydW5uaW5nIGZvciBhIGZldyBkYXlzOgoKd2hpbGUgdHJ1ZTsgZG8gZWNobyAwID4g YXV0aG9yaXplZDsgc2xlZXAgMzsgZWNobyAxID4gYXV0aG9yaXplZDsgc2xlZXAgMzsgZG9uZTsK Rm9yIHNvbWUgdXNiIGRldmljZSAoZm9yIGV4YW1wbGU6IC9zeXMvYnVzL3VzYi9kZXZpY2VzLzEt OCkKClRoZW4gZ3JlcCBsb2dzIGZvciAiTUFUVFUgZG1hdGVzdCBtYXRjaCEgIgoKQ2FuIHlvdSBz aGFyZSBhIGJpdCBtb3JlIGRldGFpbHMgb24gdGhlIHBsYXRmb3JtIHlvdSBhcmUgdXNpbmcsIGFu ZCB3aGF0IHR5cGVzIG9mIHRlc3QgeW91IGFyZSBydW5uaW5nLgpEb2VzIG15IHRlc3QgYWJvdmUg dHJpZ2dlciB0aGUgY2FzZT8gKHNob3cgIk1BVFRVIGRtYXRlc3QgbWF0Y2ghIikKCi1NYXRoaWFz Ci0tLQpUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJz Y3JpYmUgbGludXgtdXNiIiBpbgp0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZn ZXIua2VybmVsLm9yZwpNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJuZWwu b3JnL21ham9yZG9tby1pbmZvLmh0bWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mathias Nyman Subject: Re: usb HC busted? Date: Thu, 21 Jun 2018 14:01:30 +0300 Message-ID: <2b4fe87a-3706-0aa8-2b61-a9c1d1352a7a@linux.intel.com> References: <6790b352-add3-5531-115c-15db6c9c744d@intel.com> <20180518130458.v73syr3fltdzdzzi@debian> <881d576b-c7c1-ef74-c6bc-68b81371e7e0@intel.com> <20180523212956.n4ztasdffg2aeaku@debian> <80eace7a-976d-65a5-a353-54a2b18edd06@linux.intel.com> <20180604152848.db3msouyi4ektvv6@debian> <06226ecb-baad-cc36-e9e3-797dabb0aa5e@linux.intel.com> <42ec4ab07d96b4302b875ac9c5eb76675bf85690.camel@linux.intel.com> <20180606164524.n4vb7xre6rykzxih@debian> <2e8829c2-850d-6bca-5f0c-58a809dc9499@linux.intel.com> <20180621005332.5uy74tkjoel6w4xy@debian> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20180621005332.5uy74tkjoel6w4xy@debian> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Sudip Mukherjee , Andy Shevchenko Cc: Mathias Nyman , linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, Christoph Hellwig , Andy Shevchenko , lukaszx.szulc-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org List-Id: iommu@lists.linux-foundation.org On 21.06.2018 03:53, Sudip Mukherjee wrote: > Hi Mathias, Andy, > > On Thu, Jun 07, 2018 at 10:40:03AM +0300, Mathias Nyman wrote: >> On 06.06.2018 19:45, Sudip Mukherjee wrote: >>> Hi Andy, >>> >>> And we meet again. :) >>> >>> On Wed, Jun 06, 2018 at 06:36:35PM +0300, Andy Shevchenko wrote: >>>> On Wed, 2018-06-06 at 17:12 +0300, Mathias Nyman wrote: >>>>> On 04.06.2018 18:28, Sudip Mukherjee wrote: >>>>>> On Thu, May 24, 2018 at 04:35:34PM +0300, Mathias Nyman wrote: >>>>>>> >>>> >>>>> Odd and unlikely, but to me this looks like some issue in allocating >>>>> dma memory >>>>> from pool using dma_pool_zalloc() >>>>> >>>>> >>>>> 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() >>>> >>>> For better understanding it would be good to have dma_pool_free() calls >>>> debugged as well. >>> >> >> Sudip has a full (394M unpacked) trace at: >> https://drive.google.com/open?id=1h-3r-1lfjg8oblBGkzdRIq8z3ZNgGZx- >> > > > >> But then it gets stuck, for the whole ring2 dma_pool_zalloc() just returns the same dma address as the last segment for >> ring1:0x2d92b000. Last part of trace snippet is just another ring being freed. > > A gentle ping on this. Any idea on what the problem might be and any > possible fix? > I tried to reproduce it by quickly hacking xhci to allocate and free 50 segments each time we normally allocate one segment from dmapool. I let it run for 3 days on a Atom based platform, but could not reproduce it. xhci testhack can be found here: git://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git dmapool-test https://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git/log/?h=dmapool-test Tested by just leaving the following running for a few days: while true; do echo 0 > authorized; sleep 3; echo 1 > authorized; sleep 3; done; For some usb device (for example: /sys/bus/usb/devices/1-8) Then grep logs for "MATTU dmatest match! " Can you share a bit more details on the platform you are using, and what types of test you are running. Does my test above trigger the case? (show "MATTU dmatest match!") -Mathias