[Bug 215740] kernel warning: DMA-API: xhci_hcd: cacheline tracking EEXIST, overlapping mappings aren't supported

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=215740

Alan Stern (stern@xxxxxxxxxxxxxxxxxxx) changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dan.j.williams@xxxxxxxxx,
                   |                            |hch@xxxxxx

--- Comment #23 from Alan Stern (stern@xxxxxxxxxxxxxxxxxxx) ---
+Christoph Hellwig (because I am not an expert on kmalloc and cache line
alignment)

Ferry: Sorry about the malformed patches.  The bad line was added automatically
by Quilt (I don't know why).  If I add any more patches, I'll try to remember
to remove that bogus line first.

Andy: There are two mappings in question here, both of them are reads, neither
is larger than 8 bytes, and neither has a cache line alignment requirement
(other than the general restriction that on architectures with
non-cache-coherent DMA -- i.e., not x86 -- different allocations should belong
to different cache lines).

The first mapping is 1 byte long (at the start of the 8-byte-long hub->buffer
allocated near the beginning of hub_configure() in drivers/usb/core/hub.c) and
the second is 4 bytes long (for hub->status, allocated just afterward).  The
physical addresses and sizes of the mappings, as shown in the log, are:

  hub->buffer: 108342600 size 1
  hub->status: 108342608 size 4

Obviously they lie in the same cache line, which is what triggers the DMA
debugging error.  But equally obviously, on x86 or other architectures with
cache-coherent DMA, there is nothing wrong with them.

Incidentally,

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux