public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4 TRY#3] improve alternative instruction code and optimize get_cycles_sync
@ 2007-03-09 15:08 Joerg Roedel
  2007-03-09 15:11 ` [PATCH 1/4 TRY#3] i386: extend alternative instructions framework Joerg Roedel
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Joerg Roedel @ 2007-03-09 15:08 UTC (permalink / raw)
  To: discuss; +Cc: Andi Kleen, linux-kernel

This series of patches extend the alternative instructions framework on
i386 and x86_64 architectures to support two alternative instruction
replacements. This code is used together with the introduction of the
X86_FEATURE_SYNC_RDTSC flag on i386 to simplify and optimize the
get_cycles_sync() function. The optimization changes this function to
use RDTSCP instead of CPUID;RDTSC if this instruction is available.
Don't use CPUID there is really important if the kernel runs as a KVM
guest, because this instruction is intercepted and causes an expensive
VMEXIT.

Changes to the previous submit:
 * rebased to current linus git tree
 * replaced RDTSCP usage in get_cycles_sync with the opcode to
   make it compile with older binutils

-- 
Joerg Roedel
Operating System Research Center
AMD Saxony LLC & Co. KG



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2007-03-12 16:26 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-09 15:08 [PATCH 0/4 TRY#3] improve alternative instruction code and optimize get_cycles_sync Joerg Roedel
2007-03-09 15:11 ` [PATCH 1/4 TRY#3] i386: extend alternative instructions framework Joerg Roedel
2007-03-09 15:12 ` [PATCH 2/4 TRY#3] x86_64: changes to x86_64 architecture for alternative instruction improvements Joerg Roedel
2007-03-09 15:13 ` [PATCH 3/4 TRY#3] i386: add the X86_FEATURE_SYNC_RDTSC flag Joerg Roedel
2007-03-09 15:15 ` [PATCH 4/4 TRY#3] optimize and simplify get_cycles_sync() Joerg Roedel
2007-03-09 18:10   ` Avi Kivity
2007-03-12 13:02     ` Joerg Roedel
2007-03-12 13:09       ` [discuss] " Andi Kleen
2007-03-12 13:21         ` Joerg Roedel
2007-03-12 13:29       ` Michael Matz
2007-03-12 13:45         ` Joerg Roedel
2007-03-12 16:08       ` Avi Kivity
2007-03-12 16:24         ` Joerg Roedel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox