<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/vfio, branch v3.11</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/vfio?h=v3.11</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/vfio?h=v3.11'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-07-24T22:36:41Z</updated>
<entry>
<title>vfio-pci: Avoid deadlock on remove</title>
<updated>2013-07-24T22:36:41Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-06-10T22:40:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d24cdbfd28b7e0ffecb1e281d73e73c03a57f734'/>
<id>urn:sha1:d24cdbfd28b7e0ffecb1e281d73e73c03a57f734</id>
<content type='text'>
If an attempt is made to unbind a device from vfio-pci while that
device is in use, the request is blocked until the device becomes
unused.  Unfortunately, that unbind path still grabs the device_lock,
which certain things like __pci_reset_function() also want to take.
This means we need to try to acquire the locks ourselves and use the
pre-locked version, __pci_reset_function_locked().

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
</content>
</entry>
<entry>
<title>vfio: Ignore sprurious notifies</title>
<updated>2013-07-24T22:36:40Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-06-10T22:40:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c64019302bbb0b445484d870e674ab34a19a18a1'/>
<id>urn:sha1:c64019302bbb0b445484d870e674ab34a19a18a1</id>
<content type='text'>
Remove debugging WARN_ON if we get a spurious notify for a group that
no longer exists.  No reports of anyone hitting this, but it would
likely be a race and not a bug if they did.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
</content>
</entry>
<entry>
<title>vfio: Don't overreact to DEL_DEVICE</title>
<updated>2013-07-24T22:36:00Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-06-10T22:40:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=de9c7602ca25f52bbfeb52e7d85765fe70b92dce'/>
<id>urn:sha1:de9c7602ca25f52bbfeb52e7d85765fe70b92dce</id>
<content type='text'>
BUS_NOTIFY_DEL_DEVICE triggers IOMMU drivers to remove devices from
their iommu group, but there's really nothing we can do about it at
this point.  If the device is in use, then the vfio sub-driver will
block the device_del from completing until it's released.  If the
device is not in use or not owned by a vfio sub-driver, then we
really don't care that it's being removed.

The current code can be triggered just by unloading an sr-iov driver
(ex. igb) while the VFs are attached to vfio-pci because it makes an
incorrect assumption about the ordering of driver remove callbacks
vs the DEL_DEVICE notification.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'vfio-v3.11' of git://github.com/awilliam/linux-vfio</title>
<updated>2013-07-10T21:50:08Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-07-10T21:50:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=15a49b9a90c86c6cb7f270a699d2ae7468862c28'/>
<id>urn:sha1:15a49b9a90c86c6cb7f270a699d2ae7468862c28</id>
<content type='text'>
Pull vfio updates from Alex Williamson:
 "Largely hugepage support for vfio/type1 iommu and surrounding cleanups
  and fixes"

* tag 'vfio-v3.11' of git://github.com/awilliam/linux-vfio:
  vfio/type1: Fix leak on error path
  vfio: Limit group opens
  vfio/type1: Fix missed frees and zero sized removes
  vfio: fix documentation
  vfio: Provide module option to disable vfio_iommu_type1 hugepage support
  vfio: hugepage support for vfio_iommu_type1
  vfio: Convert type1 iommu to use rbtree
</content>
</entry>
<entry>
<title>Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc</title>
<updated>2013-07-04T17:29:23Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-07-04T17:29:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=65b97fb7303050fc826e518cf67fc283da23314f'/>
<id>urn:sha1:65b97fb7303050fc826e518cf67fc283da23314f</id>
<content type='text'>
Pull powerpc updates from Ben Herrenschmidt:
 "This is the powerpc changes for the 3.11 merge window.  In addition to
  the usual bug fixes and small updates, the main highlights are:

   - Support for transparent huge pages by Aneesh Kumar for 64-bit
     server processors.  This allows the use of 16M pages as transparent
     huge pages on kernels compiled with a 64K base page size.

   - Base VFIO support for KVM on power by Alexey Kardashevskiy

   - Wiring up of our nvram to the pstore infrastructure, including
     putting compressed oopses in there by Aruna Balakrishnaiah

   - Move, rework and improve our "EEH" (basically PCI error handling
     and recovery) infrastructure.  It is no longer specific to pseries
     but is now usable by the new "powernv" platform as well (no
     hypervisor) by Gavin Shan.

   - I fixed some bugs in our math-emu instruction decoding and made it
     usable to emulate some optional FP instructions on processors with
     hard FP that lack them (such as fsqrt on Freescale embedded
     processors).

   - Support for Power8 "Event Based Branch" facility by Michael
     Ellerman.  This facility allows what is basically "userspace
     interrupts" for performance monitor events.

   - A bunch of Transactional Memory vs.  Signals bug fixes and HW
     breakpoint/watchpoint fixes by Michael Neuling.

  And more ...  I appologize in advance if I've failed to highlight
  something that somebody deemed worth it."

* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (156 commits)
  pstore: Add hsize argument in write_buf call of pstore_ftrace_call
  powerpc/fsl: add MPIC timer wakeup support
  powerpc/mpic: create mpic subsystem object
  powerpc/mpic: add global timer support
  powerpc/mpic: add irq_set_wake support
  powerpc/85xx: enable coreint for all the 64bit boards
  powerpc/8xx: Erroneous double irq_eoi() on CPM IRQ in MPC8xx
  powerpc/fsl: Enable CONFIG_E1000E in mpc85xx_smp_defconfig
  powerpc/mpic: Add get_version API both for internal and external use
  powerpc: Handle both new style and old style reserve maps
  powerpc/hw_brk: Fix off by one error when validating DAWR region end
  powerpc/pseries: Support compression of oops text via pstore
  powerpc/pseries: Re-organise the oops compression code
  pstore: Pass header size in the pstore write callback
  powerpc/powernv: Fix iommu initialization again
  powerpc/pseries: Inform the hypervisor we are using EBB regs
  powerpc/perf: Add power8 EBB support
  powerpc/perf: Core EBB support for 64-bit book3s
  powerpc/perf: Drop MMCRA from thread_struct
  powerpc/perf: Don't enable if we have zero events
  ...
</content>
</entry>
<entry>
<title>vfio/type1: Fix leak on error path</title>
<updated>2013-07-01T14:28:58Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-07-01T14:28:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8d38ef1948bd415a5cb653a5c0ec16f3402aaca1'/>
<id>urn:sha1:8d38ef1948bd415a5cb653a5c0ec16f3402aaca1</id>
<content type='text'>
We also don't handle unpinning zero pages as an error on other exits
so we can fix that inconsistency by rolling in the next conditional
return.

Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
</content>
</entry>
<entry>
<title>vfio: remap_pfn_range() sets all those flags...</title>
<updated>2013-06-29T08:46:41Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2013-05-11T16:33:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a47df1518efb9b5e9c5fc7cc7300e40f945a1f33'/>
<id>urn:sha1:a47df1518efb9b5e9c5fc7cc7300e40f945a1f33</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>vfio: Limit group opens</title>
<updated>2013-06-25T22:06:54Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-06-25T22:06:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6d6768c61b39a2184bc11bb0342e4f7f35642bcc'/>
<id>urn:sha1:6d6768c61b39a2184bc11bb0342e4f7f35642bcc</id>
<content type='text'>
vfio_group_fops_open attempts to limit concurrent sessions by
disallowing opens once group-&gt;container is set.  This really doesn't
do what we want and allow for inconsistent behavior, for instance a
group can be opened twice, then a container set giving the user two
file descriptors to the group.  But then it won't allow more to be
opened.  There's not much reason to have the group opened multiple
times since most access is through devices or the container, so
complete what the original code intended and only allow a single
instance.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
</content>
</entry>
<entry>
<title>vfio/type1: Fix missed frees and zero sized removes</title>
<updated>2013-06-25T22:01:44Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-06-25T22:01:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f5bfdbf252ad54aa4b6f765cbe89750087fcc155'/>
<id>urn:sha1:f5bfdbf252ad54aa4b6f765cbe89750087fcc155</id>
<content type='text'>
With hugepage support we can only properly aligned and sized ranges.
We only guarantee that we can unmap the same ranges mapped and not
arbitrary sub-ranges.  This means we might not free anything or might
free more than requested.  The vfio unmap interface started storing
the unmapped size to return to userspace to handle this.  This patch
fixes a few places where we don't properly handle those cases, moves
a memory allocation to a place where failure is an option and checks
our loops to make sure we don't get into an infinite loop trying to
remove an overlap.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
</content>
</entry>
<entry>
<title>vfio: Provide module option to disable vfio_iommu_type1 hugepage support</title>
<updated>2013-06-21T15:38:11Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-06-21T15:38:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5c6c2b21ecc9adfc47cfaf93404937b6ecd8395d'/>
<id>urn:sha1:5c6c2b21ecc9adfc47cfaf93404937b6ecd8395d</id>
<content type='text'>
Add a module option to vfio_iommu_type1 to disable IOMMU hugepage
support.  This causes iommu_map to only be called with single page
mappings, disabling the IOMMU driver's ability to use hugepages.
This option can be enabled by loading vfio_iommu_type1 with
disable_hugepages=1 or dynamically through sysfs.  If enabled
dynamically, only new mappings are restricted.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
</content>
</entry>
</feed>
