<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/include/linux/kvm_host.h, branch linux-2.6.35.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>KVM: Keep slot ID in memory slot structure</title>
<updated>2010-09-27T00:18:32+00:00</updated>
<author>
<name>Avi Kivity</name>
<email>avi@redhat.com</email>
</author>
<published>2010-09-17T16:13:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=1be501980f140e5a6698999df9c7c6124c14810f'/>
<id>1be501980f140e5a6698999df9c7c6124c14810f</id>
<content type='text'>
commit e36d96f7cfaa71870c407131eb4fbd38ea285c01 upstream.

May be used for distinguishing between internal and user slots, or for sorting
slots in size order.

Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
Cc: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit e36d96f7cfaa71870c407131eb4fbd38ea285c01 upstream.

May be used for distinguishing between internal and user slots, or for sorting
slots in size order.

Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
Cc: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: Let vcpu structure alignment be determined at runtime</title>
<updated>2010-05-19T08:36:29+00:00</updated>
<author>
<name>Avi Kivity</name>
<email>avi@redhat.com</email>
</author>
<published>2010-04-28T12:39:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0ee75bead83da4791e5cbf659806c54d8ee40f12'/>
<id>0ee75bead83da4791e5cbf659806c54d8ee40f12</id>
<content type='text'>
vmx and svm vcpus have different contents and therefore may have different
alignmment requirements.  Let each specify its required alignment.

Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
vmx and svm vcpus have different contents and therefore may have different
alignmment requirements.  Let each specify its required alignment.

Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: Get rid of dead function gva_to_page()</title>
<updated>2010-05-17T09:18:10+00:00</updated>
<author>
<name>Gui Jianfeng</name>
<email>guijianfeng@cn.fujitsu.com</email>
</author>
<published>2010-04-16T09:19:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2a059bf444dd7758ccf48f217cd981570132be85'/>
<id>2a059bf444dd7758ccf48f217cd981570132be85</id>
<content type='text'>
Nobody use gva_to_page() anymore, get rid of it.

Signed-off-by: Gui Jianfeng &lt;guijianfeng@cn.fujitsu.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Nobody use gva_to_page() anymore, get rid of it.

Signed-off-by: Gui Jianfeng &lt;guijianfeng@cn.fujitsu.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: use the correct RCU API for PROVE_RCU=y</title>
<updated>2010-05-17T09:18:01+00:00</updated>
<author>
<name>Lai Jiangshan</name>
<email>laijs@cn.fujitsu.com</email>
</author>
<published>2010-04-19T09:41:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=90d83dc3d49f5101addae962ccc1b4aff66b68d8'/>
<id>90d83dc3d49f5101addae962ccc1b4aff66b68d8</id>
<content type='text'>
The RCU/SRCU API have already changed for proving RCU usage.

I got the following dmesg when PROVE_RCU=y because we used incorrect API.
This patch coverts rcu_deference() to srcu_dereference() or family API.

===================================================
[ INFO: suspicious rcu_dereference_check() usage. ]
---------------------------------------------------
arch/x86/kvm/mmu.c:3020 invoked rcu_dereference_check() without protection!

other info that might help us debug this:

rcu_scheduler_active = 1, debug_locks = 0
2 locks held by qemu-system-x86/8550:
 #0:  (&amp;kvm-&gt;slots_lock){+.+.+.}, at: [&lt;ffffffffa011a6ac&gt;] kvm_set_memory_region+0x29/0x50 [kvm]
 #1:  (&amp;(&amp;kvm-&gt;mmu_lock)-&gt;rlock){+.+...}, at: [&lt;ffffffffa012262d&gt;] kvm_arch_commit_memory_region+0xa6/0xe2 [kvm]

stack backtrace:
Pid: 8550, comm: qemu-system-x86 Not tainted 2.6.34-rc4-tip-01028-g939eab1 #27
Call Trace:
 [&lt;ffffffff8106c59e&gt;] lockdep_rcu_dereference+0xaa/0xb3
 [&lt;ffffffffa012f6c1&gt;] kvm_mmu_calculate_mmu_pages+0x44/0x7d [kvm]
 [&lt;ffffffffa012263e&gt;] kvm_arch_commit_memory_region+0xb7/0xe2 [kvm]
 [&lt;ffffffffa011a5d7&gt;] __kvm_set_memory_region+0x636/0x6e2 [kvm]
 [&lt;ffffffffa011a6ba&gt;] kvm_set_memory_region+0x37/0x50 [kvm]
 [&lt;ffffffffa015e956&gt;] vmx_set_tss_addr+0x46/0x5a [kvm_intel]
 [&lt;ffffffffa0126592&gt;] kvm_arch_vm_ioctl+0x17a/0xcf8 [kvm]
 [&lt;ffffffff810a8692&gt;] ? unlock_page+0x27/0x2c
 [&lt;ffffffff810bf879&gt;] ? __do_fault+0x3a9/0x3e1
 [&lt;ffffffffa011b12f&gt;] kvm_vm_ioctl+0x364/0x38d [kvm]
 [&lt;ffffffff81060cfa&gt;] ? up_read+0x23/0x3d
 [&lt;ffffffff810f3587&gt;] vfs_ioctl+0x32/0xa6
 [&lt;ffffffff810f3b19&gt;] do_vfs_ioctl+0x495/0x4db
 [&lt;ffffffff810e6b2f&gt;] ? fget_light+0xc2/0x241
 [&lt;ffffffff810e416c&gt;] ? do_sys_open+0x104/0x116
 [&lt;ffffffff81382d6d&gt;] ? retint_swapgs+0xe/0x13
 [&lt;ffffffff810f3ba6&gt;] sys_ioctl+0x47/0x6a
 [&lt;ffffffff810021db&gt;] system_call_fastpath+0x16/0x1b

Signed-off-by: Lai Jiangshan &lt;laijs@cn.fujitsu.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The RCU/SRCU API have already changed for proving RCU usage.

I got the following dmesg when PROVE_RCU=y because we used incorrect API.
This patch coverts rcu_deference() to srcu_dereference() or family API.

===================================================
[ INFO: suspicious rcu_dereference_check() usage. ]
---------------------------------------------------
arch/x86/kvm/mmu.c:3020 invoked rcu_dereference_check() without protection!

other info that might help us debug this:

rcu_scheduler_active = 1, debug_locks = 0
2 locks held by qemu-system-x86/8550:
 #0:  (&amp;kvm-&gt;slots_lock){+.+.+.}, at: [&lt;ffffffffa011a6ac&gt;] kvm_set_memory_region+0x29/0x50 [kvm]
 #1:  (&amp;(&amp;kvm-&gt;mmu_lock)-&gt;rlock){+.+...}, at: [&lt;ffffffffa012262d&gt;] kvm_arch_commit_memory_region+0xa6/0xe2 [kvm]

stack backtrace:
Pid: 8550, comm: qemu-system-x86 Not tainted 2.6.34-rc4-tip-01028-g939eab1 #27
Call Trace:
 [&lt;ffffffff8106c59e&gt;] lockdep_rcu_dereference+0xaa/0xb3
 [&lt;ffffffffa012f6c1&gt;] kvm_mmu_calculate_mmu_pages+0x44/0x7d [kvm]
 [&lt;ffffffffa012263e&gt;] kvm_arch_commit_memory_region+0xb7/0xe2 [kvm]
 [&lt;ffffffffa011a5d7&gt;] __kvm_set_memory_region+0x636/0x6e2 [kvm]
 [&lt;ffffffffa011a6ba&gt;] kvm_set_memory_region+0x37/0x50 [kvm]
 [&lt;ffffffffa015e956&gt;] vmx_set_tss_addr+0x46/0x5a [kvm_intel]
 [&lt;ffffffffa0126592&gt;] kvm_arch_vm_ioctl+0x17a/0xcf8 [kvm]
 [&lt;ffffffff810a8692&gt;] ? unlock_page+0x27/0x2c
 [&lt;ffffffff810bf879&gt;] ? __do_fault+0x3a9/0x3e1
 [&lt;ffffffffa011b12f&gt;] kvm_vm_ioctl+0x364/0x38d [kvm]
 [&lt;ffffffff81060cfa&gt;] ? up_read+0x23/0x3d
 [&lt;ffffffff810f3587&gt;] vfs_ioctl+0x32/0xa6
 [&lt;ffffffff810f3b19&gt;] do_vfs_ioctl+0x495/0x4db
 [&lt;ffffffff810e6b2f&gt;] ? fget_light+0xc2/0x241
 [&lt;ffffffff810e416c&gt;] ? do_sys_open+0x104/0x116
 [&lt;ffffffff81382d6d&gt;] ? retint_swapgs+0xe/0x13
 [&lt;ffffffff810f3ba6&gt;] sys_ioctl+0x47/0x6a
 [&lt;ffffffff810021db&gt;] system_call_fastpath+0x16/0x1b

Signed-off-by: Lai Jiangshan &lt;laijs@cn.fujitsu.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: limit the number of pages per memory slot</title>
<updated>2010-05-17T09:17:41+00:00</updated>
<author>
<name>Takuya Yoshikawa</name>
<email>yoshikawa.takuya@oss.ntt.co.jp</email>
</author>
<published>2010-04-13T13:47:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=660c22c425cbe14badfb3b0a0206862577701ab7'/>
<id>660c22c425cbe14badfb3b0a0206862577701ab7</id>
<content type='text'>
This patch limits the number of pages per memory slot to make
us free from extra care about type issues.

Signed-off-by: Takuya Yoshikawa &lt;yoshikawa.takuya@oss.ntt.co.jp&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch limits the number of pages per memory slot to make
us free from extra care about type issues.

Signed-off-by: Takuya Yoshikawa &lt;yoshikawa.takuya@oss.ntt.co.jp&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: Increase NR_IOBUS_DEVS limit to 200</title>
<updated>2010-04-20T10:08:30+00:00</updated>
<author>
<name>Sridhar Samudrala</name>
<email>sri@us.ibm.com</email>
</author>
<published>2010-03-30T23:48:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e80e2a60ff7914dae691345a976c80bbbff3ec74'/>
<id>e80e2a60ff7914dae691345a976c80bbbff3ec74</id>
<content type='text'>
This patch increases the current hardcoded limit of NR_IOBUS_DEVS
from 6 to 200. We are hitting this limit when creating a guest with more
than 1 virtio-net device using vhost-net backend. Each virtio-net
device requires 2 such devices to service notifications from rx/tx queues.

Signed-off-by: Sridhar Samudrala &lt;sri@us.ibm.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch increases the current hardcoded limit of NR_IOBUS_DEVS
from 6 to 200. We are hitting this limit when creating a guest with more
than 1 virtio-net device using vhost-net backend. Each virtio-net
device requires 2 such devices to service notifications from rx/tx queues.

Signed-off-by: Sridhar Samudrala &lt;sri@us.ibm.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: fix the handling of dirty bitmaps to avoid overflows</title>
<updated>2010-04-20T10:06:55+00:00</updated>
<author>
<name>Takuya Yoshikawa</name>
<email>yoshikawa.takuya@oss.ntt.co.jp</email>
</author>
<published>2010-04-12T10:35:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=87bf6e7de1134f48681fd2ce4b7c1ec45458cb6d'/>
<id>87bf6e7de1134f48681fd2ce4b7c1ec45458cb6d</id>
<content type='text'>
Int is not long enough to store the size of a dirty bitmap.

This patch fixes this problem with the introduction of a wrapper
function to calculate the sizes of dirty bitmaps.

Note: in mark_page_dirty(), we have to consider the fact that
  __set_bit() takes the offset as int, not long.

Signed-off-by: Takuya Yoshikawa &lt;yoshikawa.takuya@oss.ntt.co.jp&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Int is not long enough to store the size of a dirty bitmap.

This patch fixes this problem with the introduction of a wrapper
function to calculate the sizes of dirty bitmaps.

Note: in mark_page_dirty(), we have to consider the fact that
  __set_bit() takes the offset as int, not long.

Signed-off-by: Takuya Yoshikawa &lt;yoshikawa.takuya@oss.ntt.co.jp&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: Convert kvm-&gt;requests_lock to raw_spinlock_t</title>
<updated>2010-03-01T15:36:13+00:00</updated>
<author>
<name>Avi Kivity</name>
<email>avi@redhat.com</email>
</author>
<published>2010-02-18T09:25:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=70e335e16882df5b5d6971022e63c3603a1e8c23'/>
<id>70e335e16882df5b5d6971022e63c3603a1e8c23</id>
<content type='text'>
The code relies on kvm-&gt;requests_lock inhibiting preemption.

Noted by Jan Kiszka.

Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The code relies on kvm-&gt;requests_lock inhibiting preemption.

Noted by Jan Kiszka.

Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: Introduce kvm_host_page_size</title>
<updated>2010-03-01T15:36:08+00:00</updated>
<author>
<name>Joerg Roedel</name>
<email>joerg.roedel@amd.com</email>
</author>
<published>2010-01-28T11:37:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=8f0b1ab6fb045a1324d9435ba00c2940783b0041'/>
<id>8f0b1ab6fb045a1324d9435ba00c2940783b0041</id>
<content type='text'>
This patch introduces a generic function to find out the
host page size for a given gfn. This function is needed by
the kvm iommu code. This patch also simplifies the x86
host_mapping_level function.

Signed-off-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch introduces a generic function to find out the
host page size for a given gfn. This function is needed by
the kvm iommu code. This patch also simplifies the x86
host_mapping_level function.

Signed-off-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: enable PCI multiple-segments for pass-through device</title>
<updated>2010-03-01T15:36:06+00:00</updated>
<author>
<name>Zhai, Edwin</name>
<email>edwin.zhai@intel.com</email>
</author>
<published>2010-01-29T06:38:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=ab9f4ecbb6d39a18e300a0d10a4968c37404aa76'/>
<id>ab9f4ecbb6d39a18e300a0d10a4968c37404aa76</id>
<content type='text'>
Enable optional parameter (default 0) - PCI segment (or domain) besides
BDF, when assigning PCI device to guest.

Signed-off-by: Zhai Edwin &lt;edwin.zhai@intel.com&gt;
Acked-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enable optional parameter (default 0) - PCI segment (or domain) besides
BDF, when assigning PCI device to guest.

Signed-off-by: Zhai Edwin &lt;edwin.zhai@intel.com&gt;
Acked-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
