mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 14:21:25 +02:00
CLEANUP: epoll: epoll_events should be allocated according to global.tune.maxpollevents
Willy: commit f2e8ee2b introduced an optimization in the old speculative epoll code, which implemented its own event cache. It was needed to store that many events (it was bound to maxsock/4 btw). Now the event cache lives on its own and we don't need this anymore. And since events are allocated on the kernel side, we only need to allocate the events we want to return. As a result, absmaxevents will be not used anymore. Just remove the definition and the comment of it, replace it with global.tune.maxpollevents. It is also an optimization of memory usage for large amounts of sockets. Signed-off-by: Godbach <nylzhaowei@gmail.com>
This commit is contained in:
parent
bd556bf35c
commit
d39ae7ddc9
@ -29,7 +29,6 @@
|
||||
#include <proto/task.h>
|
||||
|
||||
|
||||
static int absmaxevents = 0; // absolute maximum amounts of polled events
|
||||
|
||||
/* private data */
|
||||
static struct epoll_event *epoll_events;
|
||||
@ -195,10 +194,8 @@ REGPRM1 static int _do_init(struct poller *p)
|
||||
if (epoll_fd < 0)
|
||||
goto fail_fd;
|
||||
|
||||
/* See comments at the top of the file about this formula. */
|
||||
absmaxevents = MAX(global.tune.maxpollevents, global.maxsock);
|
||||
epoll_events = (struct epoll_event*)
|
||||
calloc(1, sizeof(struct epoll_event) * absmaxevents);
|
||||
calloc(1, sizeof(struct epoll_event) * global.tune.maxpollevents);
|
||||
|
||||
if (epoll_events == NULL)
|
||||
goto fail_ee;
|
||||
|
Loading…
x
Reference in New Issue
Block a user