<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/include/asm/pvclock.h, branch linux-3.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-11-06T07:48:43Z</updated>
<entry>
<title>pvclock: detect watchdog reset at pvclock read</title>
<updated>2013-11-06T07:48:43Z</updated>
<author>
<name>Marcelo Tosatti</name>
</author>
<published>2013-10-12T00:39:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d63285e94af3ade4fa8b10b0d9a22bcf72baf2f9'/>
<id>urn:sha1:d63285e94af3ade4fa8b10b0d9a22bcf72baf2f9</id>
<content type='text'>
Implement reset of kernel watchdogs at pvclock read time. This avoids
adding special code to every watchdog.

This is possible for watchdogs which measure time based on sched_clock() or
ktime_get() variants.

Suggested by Don Zickus.

Acked-by: Don Zickus &lt;dzickus@redhat.com&gt;
Acked-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Gleb Natapov &lt;gleb@redhat.com&gt;
</content>
</entry>
<entry>
<title>remove sched notifier for cross-cpu migrations</title>
<updated>2013-07-18T10:29:30Z</updated>
<author>
<name>Marcelo Tosatti</name>
</author>
<published>2013-07-11T01:21:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e04c5d76b0cfb66cadd900cf147526f2271884b8'/>
<id>urn:sha1:e04c5d76b0cfb66cadd900cf147526f2271884b8</id>
<content type='text'>
Linux as a guest on KVM hypervisor, the only user of the pvclock
vsyscall interface, does not require notification on task migration
because:

1. cpu ID number maps 1:1 to per-CPU pvclock time info.
2. per-CPU pvclock time info is updated if the
   underlying CPU changes.
3. that version is increased whenever underlying CPU
   changes.

Which is sufficient to guarantee nanoseconds counter
is calculated properly.

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Acked-by: Peter Zijlstra &lt;peterz@infradead.org&gt;
Signed-off-by: Gleb Natapov &lt;gleb@redhat.com&gt;
</content>
</entry>
<entry>
<title>x86: pvclock: generic pvclock vsyscall initialization</title>
<updated>2012-11-28T01:29:09Z</updated>
<author>
<name>Marcelo Tosatti</name>
</author>
<published>2012-11-28T01:28:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=71056ae22d43f58d7e0f793af18ace2eaf5b74eb'/>
<id>urn:sha1:71056ae22d43f58d7e0f793af18ace2eaf5b74eb</id>
<content type='text'>
Originally from Jeremy Fitzhardinge.

Introduce generic, non hypervisor specific, pvclock initialization
routines.

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
<entry>
<title>x86: pvclock: add note about rdtsc barriers</title>
<updated>2012-11-28T01:29:08Z</updated>
<author>
<name>Marcelo Tosatti</name>
</author>
<published>2012-11-28T01:28:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=189e11731aa858597095fbe1e6d243bad26bd96b'/>
<id>urn:sha1:189e11731aa858597095fbe1e6d243bad26bd96b</id>
<content type='text'>
As noted by Gleb, not advertising SSE2 support implies
no RDTSC barriers.

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
<entry>
<title>x86: pvclock: introduce helper to read flags</title>
<updated>2012-11-28T01:29:08Z</updated>
<author>
<name>Marcelo Tosatti</name>
</author>
<published>2012-11-28T01:28:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2697902be89d7f38e9736dfe946cd0e5d4f47b80'/>
<id>urn:sha1:2697902be89d7f38e9736dfe946cd0e5d4f47b80</id>
<content type='text'>
Acked-by: Glauber Costa &lt;glommer@parallels.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
<entry>
<title>x86: pvclock: create helper for pvclock data retrieval</title>
<updated>2012-11-28T01:29:07Z</updated>
<author>
<name>Marcelo Tosatti</name>
</author>
<published>2012-11-28T01:28:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dce2db0a35197e2f4421245079f19ab753e97348'/>
<id>urn:sha1:dce2db0a35197e2f4421245079f19ab753e97348</id>
<content type='text'>
Originally from Jeremy Fitzhardinge.

So code can be reused.

Acked-by: Glauber Costa &lt;glommer@parallels.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: Fix instruction size issue in pvclock scaling</title>
<updated>2011-08-30T11:42:30Z</updated>
<author>
<name>Duncan Sands</name>
</author>
<published>2011-08-30T08:58:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3b217116edaac634bf31e85c35708298059a8171'/>
<id>urn:sha1:3b217116edaac634bf31e85c35708298059a8171</id>
<content type='text'>
Commit de2d1a524e94 ("KVM: Fix register corruption in pvclock_scale_delta")
introduced a mul instruction that may have only a memory operand; the
assembler therefore cannot select the correct size:

   pvclock.s:229: Error: no instruction mnemonic suffix given and no register
operands; can't size instruction

In this example the assembler is:

         #APP
         mul -48(%rbp) ; shrd $32, %rdx, %rax
         #NO_APP

A simple solution is to use mulq.

Signed-off-by: Duncan Sands &lt;baldrick@free.fr&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: Fix register corruption in pvclock_scale_delta</title>
<updated>2011-06-19T16:23:14Z</updated>
<author>
<name>Zachary Amsden</name>
</author>
<published>2011-06-16T03:50:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=de2d1a524e94a79078d9fe22c57c0c6009237547'/>
<id>urn:sha1:de2d1a524e94a79078d9fe22c57c0c6009237547</id>
<content type='text'>
The 128-bit multiply in pvclock.h was missing an output constraint for
EDX which caused a register corruption to appear.  Thanks to Ulrich for
diagnosing the EDX corruption and Avi for providing this fix.

Signed-off-by: Zachary Amsden &lt;zamsden@redhat.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
</entry>
<entry>
<title>x86/pvclock: Zero last_value on resume</title>
<updated>2010-11-28T08:33:20Z</updated>
<author>
<name>Jeremy Fitzhardinge</name>
</author>
<published>2010-10-25T23:53:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e7a3481c0246c8e45e79c629efd63b168e91fcda'/>
<id>urn:sha1:e7a3481c0246c8e45e79c629efd63b168e91fcda</id>
<content type='text'>
If the guest domain has been suspend/resumed or migrated, then the
system clock backing the pvclock clocksource may revert to a smaller
value (ie, can be non-monotonic across the migration/save-restore).

Make sure we zero last_value in that case so that the domain
continues to see clock updates.

Signed-off-by: Jeremy Fitzhardinge &lt;jeremy.fitzhardinge@citrix.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: pvclock: Move scale_delta into common header</title>
<updated>2010-10-24T08:51:24Z</updated>
<author>
<name>Zachary Amsden</name>
</author>
<published>2010-08-20T08:07:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=347bb4448c2155eb2310923ccaa4be5677649003'/>
<id>urn:sha1:347bb4448c2155eb2310923ccaa4be5677649003</id>
<content type='text'>
The scale_delta function for shift / multiply with 31-bit
precision moves to a common header so it can be used by both
kernel and kvm module.

Signed-off-by: Zachary Amsden &lt;zamsden@redhat.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
</feed>
