<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/linux/kvm_host.h, branch v3.13-rc5</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.13-rc5</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.13-rc5'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2013-11-04T08:20:57+00:00</updated>
<entry>
<title>Merge branch 'kvm-ppc-queue' of git://github.com/agraf/linux-2.6 into queue</title>
<updated>2013-11-04T08:20:57+00:00</updated>
<author>
<name>Gleb Natapov</name>
<email>gleb@redhat.com</email>
</author>
<published>2013-11-04T08:20:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=95f328d3ad1a8e4e3175a18546fb35c495e31130'/>
<id>urn:sha1:95f328d3ad1a8e4e3175a18546fb35c495e31130</id>
<content type='text'>
Conflicts:
	arch/powerpc/include/asm/processor.h
</content>
</entry>
<entry>
<title>kvm_host: typo fix</title>
<updated>2013-10-31T21:14:23+00:00</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@redhat.com</email>
</author>
<published>2013-10-30T19:43:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=81e87e26796782e014fd1f2bb9cd8fb6ce4021a8'/>
<id>urn:sha1:81e87e26796782e014fd1f2bb9cd8fb6ce4021a8</id>
<content type='text'>
fix up typo in comment.

Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>kvm: Create non-coherent DMA registeration</title>
<updated>2013-10-30T18:02:23+00:00</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-10-30T17:02:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e0f0bbc527f6e9c0261f1d16b2a0b47612b7f235'/>
<id>urn:sha1:e0f0bbc527f6e9c0261f1d16b2a0b47612b7f235</id>
<content type='text'>
We currently use some ad-hoc arch variables tied to legacy KVM device
assignment to manage emulation of instructions that depend on whether
non-coherent DMA is present.  Create an interface for this, adapting
legacy KVM device assignment and adding VFIO via the KVM-VFIO device.
For now we assume that non-coherent DMA is possible any time we have a
VFIO group.  Eventually an interface can be developed as part of the
VFIO external user interface to query the coherency of a group.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>kvm/x86: Convert iommu_flags to iommu_noncoherent</title>
<updated>2013-10-30T18:02:13+00:00</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-10-30T17:02:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d96eb2c6f480769bff32054e78b964860dae4d56'/>
<id>urn:sha1:d96eb2c6f480769bff32054e78b964860dae4d56</id>
<content type='text'>
Default to operating in coherent mode.  This simplifies the logic when
we switch to a model of registering and unregistering noncoherent I/O
with KVM.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>kvm: Add VFIO device</title>
<updated>2013-10-30T18:02:03+00:00</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-10-30T17:02:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ec53500fae421e07c5d035918ca454a429732ef4'/>
<id>urn:sha1:ec53500fae421e07c5d035918ca454a429732ef4</id>
<content type='text'>
So far we've succeeded at making KVM and VFIO mostly unaware of each
other, but areas are cropping up where a connection beyond eventfds
and irqfds needs to be made.  This patch introduces a KVM-VFIO device
that is meant to be a gateway for such interaction.  The user creates
the device and can add and remove VFIO groups to it via file
descriptors.  When a group is added, KVM verifies the group is valid
and gets a reference to it via the VFIO external user interface.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>kvm: Add struct kvm arg to memslot APIs</title>
<updated>2013-10-17T13:49:23+00:00</updated>
<author>
<name>Aneesh Kumar K.V</name>
<email>aneesh.kumar@linux.vnet.ibm.com</email>
</author>
<published>2013-10-07T16:48:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5587027ce9d59a57aecaa190be1c8e560aaff45d'/>
<id>urn:sha1:5587027ce9d59a57aecaa190be1c8e560aaff45d</id>
<content type='text'>
We will use that in the later patch to find the kvm ops handler

Signed-off-by: Aneesh Kumar K.V &lt;aneesh.kumar@linux.vnet.ibm.com&gt;
Signed-off-by: Alexander Graf &lt;agraf@suse.de&gt;
</content>
</entry>
<entry>
<title>KVM: Drop FOLL_GET in GUP when doing async page fault</title>
<updated>2013-10-15T10:43:37+00:00</updated>
<author>
<name>chai wen</name>
<email>chaiw.fnst@cn.fujitsu.com</email>
</author>
<published>2013-10-14T14:22:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f2e106692d5189303997ad7b96de8d8123aa5613'/>
<id>urn:sha1:f2e106692d5189303997ad7b96de8d8123aa5613</id>
<content type='text'>
Page pinning is not mandatory in kvm async page fault processing since
after async page fault event is delivered to a guest it accesses page once
again and does its own GUP.  Drop the FOLL_GET flag in GUP in async_pf
code, and do some simplifying in check/clear processing.

Suggested-by: Gleb Natapov &lt;gleb@redhat.com&gt;
Signed-off-by: Gu zheng &lt;guz.fnst@cn.fujitsu.com&gt;
Signed-off-by: chai wen &lt;chaiw.fnst@cn.fujitsu.com&gt;
Signed-off-by: Gleb Natapov &lt;gleb@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: Move gfn_to_index to x86 specific code</title>
<updated>2013-10-14T07:11:44+00:00</updated>
<author>
<name>Christoffer Dall</name>
<email>christoffer.dall@linaro.org</email>
</author>
<published>2013-10-02T21:22:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6d9d41e57440e32a3400f37aa05ef7a1a09ced64'/>
<id>urn:sha1:6d9d41e57440e32a3400f37aa05ef7a1a09ced64</id>
<content type='text'>
The gfn_to_index function relies on huge page defines which either may
not make sense on systems that don't support huge pages or are defined
in an unconvenient way for other architectures.  Since this is
x86-specific, move the function to arch/x86/include/asm/kvm_host.h.

Signed-off-by: Christoffer Dall &lt;christoffer.dall@linaro.org&gt;
Signed-off-by: Gleb Natapov &lt;gleb@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: Convert kvm_lock back to non-raw spinlock</title>
<updated>2013-09-30T07:21:51+00:00</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2013-09-25T11:53:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2f303b74a62fb74983c0a66e2df353be963c527c'/>
<id>urn:sha1:2f303b74a62fb74983c0a66e2df353be963c527c</id>
<content type='text'>
In commit e935b8372cf8 ("KVM: Convert kvm_lock to raw_spinlock"),
the kvm_lock was made a raw lock.  However, the kvm mmu_shrink()
function tries to grab the (non-raw) mmu_lock within the scope of
the raw locked kvm_lock being held.  This leads to the following:

BUG: sleeping function called from invalid context at kernel/rtmutex.c:659
in_atomic(): 1, irqs_disabled(): 0, pid: 55, name: kswapd0
Preemption disabled at:[&lt;ffffffffa0376eac&gt;] mmu_shrink+0x5c/0x1b0 [kvm]

Pid: 55, comm: kswapd0 Not tainted 3.4.34_preempt-rt
Call Trace:
 [&lt;ffffffff8106f2ad&gt;] __might_sleep+0xfd/0x160
 [&lt;ffffffff817d8d64&gt;] rt_spin_lock+0x24/0x50
 [&lt;ffffffffa0376f3c&gt;] mmu_shrink+0xec/0x1b0 [kvm]
 [&lt;ffffffff8111455d&gt;] shrink_slab+0x17d/0x3a0
 [&lt;ffffffff81151f00&gt;] ? mem_cgroup_iter+0x130/0x260
 [&lt;ffffffff8111824a&gt;] balance_pgdat+0x54a/0x730
 [&lt;ffffffff8111fe47&gt;] ? set_pgdat_percpu_threshold+0xa7/0xd0
 [&lt;ffffffff811185bf&gt;] kswapd+0x18f/0x490
 [&lt;ffffffff81070961&gt;] ? get_parent_ip+0x11/0x50
 [&lt;ffffffff81061970&gt;] ? __init_waitqueue_head+0x50/0x50
 [&lt;ffffffff81118430&gt;] ? balance_pgdat+0x730/0x730
 [&lt;ffffffff81060d2b&gt;] kthread+0xdb/0xe0
 [&lt;ffffffff8106e122&gt;] ? finish_task_switch+0x52/0x100
 [&lt;ffffffff817e1e94&gt;] kernel_thread_helper+0x4/0x10
 [&lt;ffffffff81060c50&gt;] ? __init_kthread_worker+0x

After the previous patch, kvm_lock need not be a raw spinlock anymore,
so change it back.

Reported-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
Cc: kvm@vger.kernel.org
Cc: gleb@redhat.com
Cc: jan.kiszka@siemens.com
Reviewed-by: Gleb Natapov &lt;gleb@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>kvm: remove .done from struct kvm_async_pf</title>
<updated>2013-09-24T17:12:12+00:00</updated>
<author>
<name>Radim Krčmář</name>
<email>rkrcmar@redhat.com</email>
</author>
<published>2013-09-04T20:32:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=98fda169290b3b28c0f2db2b8f02290c13da50ef'/>
<id>urn:sha1:98fda169290b3b28c0f2db2b8f02290c13da50ef</id>
<content type='text'>
'.done' is used to mark the completion of 'async_pf_execute()', but
'cancel_work_sync()' returns true when the work was canceled, so we
use it instead.

Signed-off-by: Radim Krčmář &lt;rkrcmar@redhat.com&gt;
Reviewed-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Reviewed-by: Gleb Natapov &lt;gleb@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
</feed>
