mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 22:31:28 +02:00
OPTIM: i386: make use of kernel-mode-linux when available
If haproxy is built with support for USE_VSYSCALL_DLSYM, it's very easy to check for KML availability. So let's enable it. Tests show a small overall performance improvement around 1%. Other tests show that the syscall overhead is divided by 4 on a Geode LX using this method.
This commit is contained in:
parent
a7ad50cdb1
commit
5b88da269c
@ -184,10 +184,14 @@ static void __i386_linux_vsyscall_init(void)
|
||||
#ifdef USE_VSYSCALL_DLSYM
|
||||
void *handle = dlopen("linux-gate.so.1", RTLD_NOW);
|
||||
if (handle) {
|
||||
void *ptr = dlsym(handle, "__kernel_vsyscall");
|
||||
dlclose(handle);
|
||||
void *ptr;
|
||||
|
||||
ptr = dlsym(handle, "__kernel_vsyscall_kml");
|
||||
if (!ptr)
|
||||
ptr = dlsym(handle, "__kernel_vsyscall");
|
||||
if (ptr)
|
||||
vsyscall = ptr;
|
||||
dlclose(handle);
|
||||
}
|
||||
#else
|
||||
/* Heuristic: trying to mprotect() the VDSO area will only succeed if
|
||||
|
Loading…
x
Reference in New Issue
Block a user