<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/virt, branch v3.8</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/virt?h=v3.8</id>
<link rel='self' href='https://git.amat.us/linux/atom/virt?h=v3.8'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-12-10T20:16:36Z</updated>
<entry>
<title>kvm: Fix irqfd resampler list walk</title>
<updated>2012-12-10T20:16:36Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2012-12-06T21:44:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=49f8a1a5394d8baee5e56fb71e5cf993c228689a'/>
<id>urn:sha1:49f8a1a5394d8baee5e56fb71e5cf993c228689a</id>
<content type='text'>
Typo for the next pointer means we're walking random data here.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-upstream' of https://github.com/agraf/linux-2.6 into queue</title>
<updated>2012-12-09T20:44:10Z</updated>
<author>
<name>Marcelo Tosatti</name>
<email>mtosatti@redhat.com</email>
</author>
<published>2012-12-09T20:44:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d2ff4fc557a4c5248b2d99b0d48e47a246d994b2'/>
<id>urn:sha1:d2ff4fc557a4c5248b2d99b0d48e47a246d994b2</id>
<content type='text'>
* 'for-upstream' of https://github.com/agraf/linux-2.6: (28 commits)
  KVM: PPC: booke: Get/set guest EPCR register using ONE_REG interface
  KVM: PPC: bookehv: Add EPCR support in mtspr/mfspr emulation
  KVM: PPC: bookehv: Add guest computation mode for irq delivery
  KVM: PPC: Make EPCR a valid field for booke64 and bookehv
  KVM: PPC: booke: Extend MAS2 EPN mask for 64-bit
  KVM: PPC: e500: Mask MAS2 EPN high 32-bits in 32/64 tlbwe emulation
  KVM: PPC: Mask ea's high 32-bits in 32/64 instr emulation
  KVM: PPC: e500: Add emulation helper for getting instruction ea
  KVM: PPC: bookehv64: Add support for interrupt handling
  KVM: PPC: bookehv: Remove GET_VCPU macro from exception handler
  KVM: PPC: booke: Fix get_tb() compile error on 64-bit
  KVM: PPC: e500: Silence bogus GCC warning in tlb code
  KVM: PPC: Book3S HV: Handle guest-caused machine checks on POWER7 without panicking
  KVM: PPC: Book3S HV: Improve handling of local vs. global TLB invalidations
  MAINTAINERS: Add git tree link for PPC KVM
  KVM: PPC: Book3S PR: MSR_DE doesn't exist on Book 3S
  KVM: PPC: Book3S PR: Fix VSX handling
  KVM: PPC: Book3S PR: Emulate PURR, SPURR and DSCR registers
  KVM: PPC: Book3S HV: Don't give the guest RW access to RO pages
  KVM: PPC: Book3S HV: Report correct HPT entry index when reading HPT
  ...
</content>
</entry>
<entry>
<title>KVM: Distangle eventfd code from irqchip</title>
<updated>2012-12-06T00:33:49Z</updated>
<author>
<name>Alexander Graf</name>
<email>agraf@suse.de</email>
</author>
<published>2012-10-08T22:22:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=914daba865cb5c38cd5fdee024ca38029315b38f'/>
<id>urn:sha1:914daba865cb5c38cd5fdee024ca38029315b38f</id>
<content type='text'>
The current eventfd code assumes that when we have eventfd, we also have
irqfd for in-kernel interrupt delivery. This is not necessarily true. On
PPC we don't have an in-kernel irqchip yet, but we can still support easily
support eventfd.

Signed-off-by: Alexander Graf &lt;agraf@suse.de&gt;
</content>
</entry>
<entry>
<title>kvm: deliver msi interrupts from irq handler</title>
<updated>2012-12-05T13:10:53Z</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@redhat.com</email>
</author>
<published>2012-10-17T16:06:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=78c634402a1825f1f5bef13077f0985f3b8a3212'/>
<id>urn:sha1:78c634402a1825f1f5bef13077f0985f3b8a3212</id>
<content type='text'>
We can deliver certain interrupts, notably MSI,
from atomic context.  Use kvm_set_irq_inatomic,
to implement an irq handler for msi.

This reduces the pressure on scheduler in case
where host and guest irq share a host cpu.

Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Gleb Natapov &lt;gleb@redhat.com&gt;
</content>
</entry>
<entry>
<title>kvm: add kvm_set_irq_inatomic</title>
<updated>2012-12-05T13:10:45Z</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@redhat.com</email>
</author>
<published>2012-10-17T16:06:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=01f218803757c9ec1152ac2fd39d03c27c452634'/>
<id>urn:sha1:01f218803757c9ec1152ac2fd39d03c27c452634</id>
<content type='text'>
Add an API to inject IRQ from atomic context.
Return EWOULDBLOCK if impossible (e.g. for multicast).
Only MSI is supported ATM.

Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Gleb Natapov &lt;gleb@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: Fix user memslot overlap check</title>
<updated>2012-11-30T01:30:32Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2012-11-29T21:07:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5419369ed6bd4cf711fdda5e52a5999b940413f5'/>
<id>urn:sha1:5419369ed6bd4cf711fdda5e52a5999b940413f5</id>
<content type='text'>
Prior to memory slot sorting this loop compared all of the user memory
slots for overlap with new entries.  With memory slot sorting, we're
just checking some number of entries in the array that may or may not
be user slots.  Instead, walk all the slots with kvm_for_each_memslot,
which has the added benefit of terminating early when we hit the first
empty slot, and skip comparison to private slots.

Cc: stable@vger.kernel.org
Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: x86: add kvm_arch_vcpu_postcreate callback, move TSC initialization</title>
<updated>2012-11-28T01:29:14Z</updated>
<author>
<name>Marcelo Tosatti</name>
<email>mtosatti@redhat.com</email>
</author>
<published>2012-11-28T01:29:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=42897d866b120547777ae1fd316680ec53356d9c'/>
<id>urn:sha1:42897d866b120547777ae1fd316680ec53356d9c</id>
<content type='text'>
TSC initialization will soon make use of online_vcpus.

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: x86: implement PVCLOCK_TSC_STABLE_BIT pvclock flag</title>
<updated>2012-11-28T01:29:13Z</updated>
<author>
<name>Marcelo Tosatti</name>
<email>mtosatti@redhat.com</email>
</author>
<published>2012-11-28T01:29:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d828199e84447795c6669ff0e6c6d55eb9beeff6'/>
<id>urn:sha1:d828199e84447795c6669ff0e6c6d55eb9beeff6</id>
<content type='text'>
KVM added a global variable to guarantee monotonicity in the guest.
One of the reasons for that is that the time between

	1. ktime_get_ts(&amp;timespec);
	2. rdtscll(tsc);

Is variable. That is, given a host with stable TSC, suppose that
two VCPUs read the same time via ktime_get_ts() above.

The time required to execute 2. is not the same on those two instances
executing in different VCPUS (cache misses, interrupts...).

If the TSC value that is used by the host to interpolate when
calculating the monotonic time is the same value used to calculate
the tsc_timestamp value stored in the pvclock data structure, and
a single &lt;system_timestamp, tsc_timestamp&gt; tuple is visible to all
vcpus simultaneously, this problem disappears. See comment on top
of pvclock_update_vm_gtod_copy for details.

Monotonicity is then guaranteed by synchronicity of the host TSCs
and guest TSCs.

Set TSC stable pvclock flag in that case, allowing the guest to read
clock from userspace.

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: remove unnecessary return value check</title>
<updated>2012-11-14T00:14:29Z</updated>
<author>
<name>Guo Chao</name>
<email>yan@linux.vnet.ibm.com</email>
</author>
<published>2012-11-02T10:33:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=807f12e57c9783458b8c07f63eff3c3e1df8ab5d'/>
<id>urn:sha1:807f12e57c9783458b8c07f63eff3c3e1df8ab5d</id>
<content type='text'>
No need to check return value before breaking switch.

Signed-off-by: Guo Chao &lt;yan@linux.vnet.ibm.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: do not kfree error pointer</title>
<updated>2012-11-14T00:14:28Z</updated>
<author>
<name>Guo Chao</name>
<email>yan@linux.vnet.ibm.com</email>
</author>
<published>2012-11-02T10:33:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=18595411a7146330ec19adf0b9db8e6736c84a4e'/>
<id>urn:sha1:18595411a7146330ec19adf0b9db8e6736c84a4e</id>
<content type='text'>
We should avoid kfree()ing error pointer in kvm_vcpu_ioctl() and
kvm_arch_vcpu_ioctl().

Signed-off-by: Guo Chao &lt;yan@linux.vnet.ibm.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
</feed>
