lkml.org 
[lkml]   [2009]   [Jan]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: lmbench lat_mmap slowdown with CONFIG_PARAVIRT
Jeremy Fitzhardinge wrote:
>
> I did have some patches to do that at one point. If you set pgd_val =
> paravirt_nop, then the patching machinery will completely nop out the
> call site. The problem is that it depends on the calling convention
> using the same regs for the first arg and return - true for 32-bit, but
> not 64. We could fix that with identity functions which the patcher
> recognizes and can replace with either pure nops or inline appropriate
> register moves.
>

There is also the option to use assembly wrappers to avoid relying on
the calling convention. This is particularly so since we have sites
where as little as a two-byte instruction gets bloated up with huge
push/pop sequences around a tiny instruction. Those would be better
served with a direct call to a stub (5 bytes), which would be repatched
to the two-byte instruction + 3 byte nop.

-hpa



\
 
 \ /
  Last update: 2009-01-22 23:55    [W:0.067 / U:0.256 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site