<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/Documentation/virtual/kvm/locking.txt, branch master</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2019-07-24T08:52:11+00:00</updated>
<entry>
<title>Documentation: move Documentation/virtual to Documentation/virt</title>
<updated>2019-07-24T08:52:11+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2019-07-24T07:24:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2f5947dfcaecb99f2dd559156eecbeb7b95e4c02'/>
<id>urn:sha1:2f5947dfcaecb99f2dd559156eecbeb7b95e4c02</id>
<content type='text'>
Renaming docs seems to be en vogue at the moment, so fix on of the
grossly misnamed directories.  We usually never use "virtual" as
a shortcut for virtualization in the kernel, but always virt,
as seen in the virt/ top-level directory.  Fix up the documentation
to match that.

Fixes: ed16648eb5b8 ("Move kvm, uml, and lguest subdirectories under a common "virtual" directory, I.E:")
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>kvm: Convert kvm_lock to a mutex</title>
<updated>2019-06-05T12:14:50+00:00</updated>
<author>
<name>Junaid Shahid</name>
<email>junaids@google.com</email>
</author>
<published>2019-01-04T01:14:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0d9ce162cf46c99628cc5da9510b959c7976735b'/>
<id>urn:sha1:0d9ce162cf46c99628cc5da9510b959c7976735b</id>
<content type='text'>
It doesn't seem as if there is any particular need for kvm_lock to be a
spinlock, so convert the lock to a mutex so that sleepable functions (in
particular cond_resched()) can be called while holding it.

Signed-off-by: Junaid Shahid &lt;junaids@google.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>kvm: x86: mmu: Update documentation for fast page fault mechanism</title>
<updated>2017-01-09T13:46:12+00:00</updated>
<author>
<name>Junaid Shahid</name>
<email>junaids@google.com</email>
</author>
<published>2016-12-07T00:46:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=63dbe14d39b0505e3260bed92e5f4905f49c09d9'/>
<id>urn:sha1:63dbe14d39b0505e3260bed92e5f4905f49c09d9</id>
<content type='text'>
Add a brief description of the lockless access tracking mechanism
to the documentation of fast page faults in locking.txt.

Signed-off-by: Junaid Shahid &lt;junaids@google.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: hyperv: fix locking of struct kvm_hv fields</title>
<updated>2016-12-16T16:53:38+00:00</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2016-12-12T09:12:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3f5ad8be3713572f3946b69eb376206153d0ea2d'/>
<id>urn:sha1:3f5ad8be3713572f3946b69eb376206153d0ea2d</id>
<content type='text'>
Introduce a new mutex to avoid an AB-BA deadlock between kvm-&gt;lock and
vcpu-&gt;mutex.  Protect accesses in kvm_hv_setup_tsc_page too, as suggested
by Roman.

Reported-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;
Reviewed-by: Roman Kagan &lt;rkagan@virtuozzo.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: document lock orders</title>
<updated>2016-10-27T09:35:47+00:00</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2016-10-13T11:10:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=58e3948a87e39289aeda5753e9712092c8ca0745'/>
<id>urn:sha1:58e3948a87e39289aeda5753e9712092c8ca0745</id>
<content type='text'>
This is long overdue, and not really hard.

Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Message-Id: &lt;1476357057-17899-1-git-send-email-pbonzini@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: x86: Fix typos</title>
<updated>2016-06-14T09:16:28+00:00</updated>
<author>
<name>Andrea Gelmini</name>
<email>andrea.gelmini@gelma.net</email>
</author>
<published>2016-05-21T12:14:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=bb3541f175a977198d128f3a4e13534e019754a3'/>
<id>urn:sha1:bb3541f175a977198d128f3a4e13534e019754a3</id>
<content type='text'>
Signed-off-by: Andrea Gelmini &lt;andrea.gelmini@gelma.net&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: Update Posted-Interrupts Descriptor when vCPU is blocked</title>
<updated>2015-10-01T13:06:53+00:00</updated>
<author>
<name>Feng Wu</name>
<email>feng.wu@intel.com</email>
</author>
<published>2015-09-18T14:29:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=bf9f6ac8d74969690df1485b33b7c238ca9f2269'/>
<id>urn:sha1:bf9f6ac8d74969690df1485b33b7c238ca9f2269</id>
<content type='text'>
This patch updates the Posted-Interrupts Descriptor when vCPU
is blocked.

pre-block:
- Add the vCPU to the blocked per-CPU list
- Set 'NV' to POSTED_INTR_WAKEUP_VECTOR

post-block:
- Remove the vCPU from the per-CPU list

Signed-off-by: Feng Wu &lt;feng.wu@intel.com&gt;
[Concentrate invocation of pre/post-block hooks to vcpu_block. - Paolo]
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: doc: Fix typo in doc/virtual/kvm</title>
<updated>2013-12-31T19:24:54+00:00</updated>
<author>
<name>Masanari Iida</name>
<email>standby24x7@gmail.com</email>
</author>
<published>2013-12-21T16:21:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=171800328f6e2443e0e356de5b41fb7e0fff4448'/>
<id>urn:sha1:171800328f6e2443e0e356de5b41fb7e0fff4448</id>
<content type='text'>
Correct spelling typo in Documentations/virtual/kvm

Signed-off-by: Masanari Iida &lt;standby24x7@gmail.com&gt;
Acked-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@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.rulkc.org/pub/scm/linux/kernel/git/stable/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: protect kvm_usage_count with its own spinlock</title>
<updated>2013-09-30T07:21:46+00:00</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2013-09-10T10:58:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4a937f96f3a29c58b7edd349d2e4dfac371efdf2'/>
<id>urn:sha1:4a937f96f3a29c58b7edd349d2e4dfac371efdf2</id>
<content type='text'>
The VM list need not be protected by a raw spinlock.  Separate the
two so that kvm_lock can be made non-raw.

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>
</feed>
