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

Re: [Xen-devel] Status of "Out of SW-IOMMU space" problem?



Summary from the previous episodes: ;)

A) Xen 3.1.0 runs fine
B) Any newer version generates SW-IOMMU problem when Dom0 is under I/O stress.

C) Starting from there, I decided to build a Xen 3.1.3 / Linux 2.6.18.8 kernel excluding all changes related to swiotlb.c.
That means: backout of changsets 15412, 15409, 15408, 15407 and 15405
This configuration runs fine as well!

Then, I re-applied changeset 15405, and the problem re-appears. So the issue is really linked to this changeset.
Looking at it more in detail, there is only one 'intrusive' change there:

swiotlb.c

   575         if (address_needs_mapping(hwdev, dev_addr)) {

becomes

   575         if
   (range_straddles_page_boundary(page_to_pseudophys(sg->page)
   576                           + sg->offset, sg->length)
   577             || address_needs_mapping(hwdev, dev_addr)) {

And indeed, if I remove the test on 'range_straddles_page_boundary', it runs fine, if I leave it, I get the SW-IOMMU problem.

To understand how big the impact of the 'range_straddles_page_boundary' test is, I added an else/printk and it gives:

   Apr 21 09:07:45 xenon kernel: SWIOTLB -
   range_straddles_page_boundary test bypassed
   Apr 21 09:07:58 xenon last message repeated 3629 times
   ...

so the impact is rather big: about 300 times per second...

This is almost as far as I can go on the topic. My knowledge on what's really happening in that part of the code is somewhat limited.
So I appreciate any help on how to progress this further.

(Side note: not sure what's happening here, looks like the mailing lists are broken...)

--
Phil.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.