Re: lmbench lat_mmap slowdown with CONFIG_PARAVIRT
From: H. Peter Anvin
Date: Thu Jan 22 2009 - 17:53:18 EST
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/