Gitiles
Code Review
Sign In
git01.mediatek.com
/
haproxy
/
e8d0719924cd842a608c9a612bab7f5718777a3d
/
src
/
ev_epoll.c
2ae84e4
MEDIUM: poller: separate the wait time from the wake events
by Willy Tarreau
· Tue May 28 16:44:05 2019 +0200
cb6c927
MEDIUM: pollers: Use the new _HA_ATOMIC_* macros.
by Olivier Houchard
· Fri Mar 08 18:49:54 2019 +0100
beb859a
MINOR: polling: add an option to support busy polling
by Willy Tarreau
· Thu Nov 22 18:07:59 2018 +0100
48f8bc1
MINOR: poller: move the call of tv_update_date() back to the pollers
by Willy Tarreau
· Thu Nov 22 18:57:37 2018 +0100
609aad9
REORG: time/activity: move activity measurements to activity.{c,h}
by Willy Tarreau
· Thu Nov 22 08:31:09 2018 +0100
7e9c4ae
MINOR: poller: move time and date computation out of the pollers
by Willy Tarreau
· Wed Oct 17 14:31:19 2018 +0200
f37ba94
MINOR: fd: centralize poll timeout computation in compute_poll_timeout()
by Willy Tarreau
· Wed Oct 17 11:25:54 2018 +0200
60b639c
MEDIUM: hathreads: implement a more flexible rendez-vous point
by Willy Tarreau
· Thu Aug 02 10:16:17 2018 +0200
cb92f5c
MINOR: pollers: move polled_mask outside of struct fdtab.
by Olivier Houchard
· Thu Apr 26 14:23:07 2018 +0200
6b96f72
BUG/MEDIUM: pollers: Use a global list for fd shared between threads.
by Olivier Houchard
· Wed Apr 25 16:58:25 2018 +0200
8ef1a6b
BUG/MINOR: fd: Don't clear the update_mask in fd_insert.
by Olivier Houchard
· Tue Apr 03 19:06:18 2018 +0200
62a627a
MEDIUM: poller: use atomic ops to update the fdtab mask
by Willy Tarreau
· Thu Jan 25 18:06:46 2018 +0100
038e54c
MINOR: epoll: get rid of the now useless fd_compute_new_polled_status()
by Willy Tarreau
· Wed Jan 17 21:51:21 2018 +0100
4979592
BUG/MINOR: epoll/threads: only call epoll_ctl(DEL) on polled FDs
by Willy Tarreau
· Wed Jan 31 09:49:29 2018 +0100
745c60e
CLEANUP: fd: remove the unused "new" field
by Willy Tarreau
· Sat Jan 20 23:59:40 2018 +0100
ce036bc
MINOR: polling: make epoll and kqueue not depend on maxfd anymore
by Willy Tarreau
· Mon Jan 29 14:58:02 2018 +0100
3e805ed
BUILD: epoll/threads: Add test on MAX_THREADS to avoid warnings when complied without threads
by Christopher Faulet
· Thu Jan 25 16:18:09 2018 +0100
d9e7e36
BUG/MEDIUM: epoll/threads: use one epoll_fd per thread
by Willy Tarreau
· Thu Jan 18 19:16:02 2018 +0100
ebc78d7
BUG/MEDIUM: fd: maintain a per-thread update mask
by Willy Tarreau
· Sat Jan 20 23:53:50 2018 +0100
d80cb4e
MINOR: global: add some global activity counters to help debugging
by Willy Tarreau
· Sat Jan 20 19:30:13 2018 +0100
2a944ee
BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix
by Christopher Faulet
· Tue Nov 07 10:42:54 2017 +0100
f65610a
CLEANUP: threads: rename process_mask to thread_mask
by Willy Tarreau
· Tue Oct 31 16:06:06 2017 +0100
cd7879a
BUG/MEDIUM: threads: Run the poll loop on the main thread too
by Christopher Faulet
· Fri Oct 27 13:53:47 2017 +0200
63e2ce6
MINOR: threads/polling: pollers now handle FDs depending on the process mask
by Christopher Faulet
· Fri Jun 02 14:36:39 2017 +0200
d4604ad
MAJOR: threads/fd: Make fd stuffs thread-safe
by Christopher Faulet
· Mon May 29 10:40:41 2017 +0200
ab62f51
MINOR: polling: Use fd_update_events to update events seen for a fd
by Christopher Faulet
· Wed Aug 30 10:34:36 2017 +0200
9fab7be
BUG/MEDIUM: epoll: ensure we always consider HUP and ERR
by Willy Tarreau
· Tue Sep 05 15:32:56 2017 +0200
5a76769
MINOR: fd: add a new flag HAP_POLL_F_RDHUP to struct poller
by Willy Tarreau
· Mon Mar 13 11:38:28 2017 +0100
10146c9
CLEANUP: poll: move the conditions for waiting out of the poll functions
by Willy Tarreau
· Mon Apr 13 20:44:19 2015 +0200
d39ae7d
CLEANUP: epoll: epoll_events should be allocated according to global.tune.maxpollevents
by Godbach
· Wed Dec 17 16:14:26 2014 +0800
5be2f35
MAJOR: polling: centralize calls to I/O callbacks
by Willy Tarreau
· Wed Nov 19 19:43:05 2014 +0100
041751c
BUG/MEDIUM: polling: fix possible CPU hogging of worker processes after receiving SIGUSR1.
by Conrad Hoffmann
· Tue May 20 14:28:24 2014 +0200
25002d2
MINOR: polling: create function fd_compute_new_polled_status()
by Willy Tarreau
· Sat Jan 25 10:32:56 2014 +0100
e852545
MEDIUM: polling: centralize polled events processing
by Willy Tarreau
· Sat Jan 25 09:58:06 2014 +0100
f817e9f
MAJOR: polling: rework the whole polling system
by Willy Tarreau
· Fri Jan 10 16:58:45 2014 +0100
899d957
REORG: polling: rename the cache allocation functions
by Willy Tarreau
· Sat Jan 25 19:20:35 2014 +0100
16f649c
REORG: polling: rename "fd_spec" to "fd_cache"
by Willy Tarreau
· Sat Jan 25 19:10:48 2014 +0100
15a4dec
REORG: polling: rename "spec_e" to "state" and "spec_p" to "cache"
by Willy Tarreau
· Mon Jan 20 11:09:39 2014 +0100
69a41fa
CLEANUP: polling: rename "spec_e" to "state"
by Willy Tarreau
· Mon Jan 20 11:02:59 2014 +0100
3ef5af3
BUG: Revert "OPTIM/MEDIUM: epoll: fuse active events into polled ones during polling changes"
by Willy Tarreau
· Fri Dec 20 16:03:41 2013 +0100
2f87730
OPTIM/MEDIUM: epoll: fuse active events into polled ones during polling changes
by Willy Tarreau
· Fri Nov 15 22:48:31 2013 +0100
cf181c9
BUG/MINOR: epoll: use a fix maxevents argument in epoll_wait()
by Willy Tarreau
· Fri Jan 18 15:22:41 2013 +0100
1c07b07
OPTIM: epoll: make use of EPOLLRDHUP
by Willy Tarreau
· Mon Jan 07 16:19:18 2013 +0100
39ebef8
BUG/MINOR: poll: the I/O handler was called twice for polled I/Os
by Willy Tarreau
· Fri Dec 14 00:17:03 2012 +0100
fb5470d
OPTIM: epoll: current fd does not count as a new one
by Willy Tarreau
· Fri Dec 14 00:02:33 2012 +0100
6320c3c
OPTIM: epoll: use a temp variable for intermediary flag computations
by Willy Tarreau
· Thu Dec 13 23:52:58 2012 +0100
db9cb0b
CLEANUP: poll: remove a useless double-check on fdtab[fd].owner
by Willy Tarreau
· Thu Dec 13 23:41:12 2012 +0100
462c720
CLEANUP: polling: gcc doesn't always optimize constants away
by Willy Tarreau
· Thu Dec 13 22:26:37 2012 +0100
26d7cfc
BUG/MAJOR: polling: do not set speculative events on ERR nor HUP
by Willy Tarreau
· Fri Dec 07 00:09:43 2012 +0100
70c6fd8
MAJOR: polling: remove unused callbacks from the poller struct
by Willy Tarreau
· Sun Nov 11 21:02:34 2012 +0100
e9f49e7
MAJOR: polling: replace epoll with sepoll and remove sepoll
by Willy Tarreau
· Sun Nov 11 17:42:00 2012 +0100
f8cfa44
BUG/MINOR: epoll: correctly disable FD polling in fd_rem()
by Willy Tarreau
· Thu Oct 04 21:54:41 2012 +0200
babd05a
MEDIUM: fd: add fd_poll_{recv,send} for use when explicit polling is required
by Willy Tarreau
· Thu Aug 09 12:14:03 2012 +0200
3788e4c
MEDIUM: fd: remove the EV_FD_COND_* primitives
by Willy Tarreau
· Mon Jul 30 14:29:35 2012 +0200
076be25
CLEANUP: remove the now unused fdtab direct I/O callbacks
by Willy Tarreau
· Fri Jul 06 16:02:29 2012 +0200
9845e75
MEDIUM: polling: prepare to call the iocb() function when defined.
by Willy Tarreau
· Fri Jul 06 11:44:28 2012 +0200
db3b326
REORG/MEDIUM: fd: remove FD_STCLOSE from struct fdtab
by Willy Tarreau
· Thu Jul 05 23:19:22 2012 +0200
491c498
BUG/MINOR: polling: some events were not set in various pollers
by Willy Tarreau
· Fri Jul 06 11:16:01 2012 +0200
45a1251
[MEDIUM] poll: add a measurement of idle vs work time
by Willy Tarreau
· Sat Sep 10 16:56:42 2011 +0200
43d8fb2
[REORG] build: move syscall redefinition to specific places
by Willy Tarreau
· Mon Aug 22 17:12:02 2011 +0200
d79e79b
[BUG] O(1) pollers should check their FD before closing it
by Willy Tarreau
· Sun May 10 10:18:54 2009 +0200
332740d
[MEDIUM] pollers: don't wait if a signal is pending
by Willy Tarreau
· Sun May 10 09:57:21 2009 +0200
a534fea
[CLEANUP] remove 65 useless NULL checks before free
by Willy Tarreau
· Sun Aug 03 12:19:50 2008 +0200
ec6c5df
[CLEANUP] remove many #include <types/xxx> from C files
by Willy Tarreau
· Tue Jul 15 00:22:45 2008 +0200
0c303ee
[MAJOR] convert all expiration timers from timeval to ticks
by Willy Tarreau
· Mon Jul 07 00:09:58 2008 +0200
b0b37bc
[MEDIUM] further improve monotonic clock by check forward jumps
by Willy Tarreau
· Mon Jun 23 14:00:57 2008 +0200
b7f694f
[MEDIUM] implement a monotonic internal clock
by Willy Tarreau
· Sun Jun 22 17:18:02 2008 +0200
3a62811
[BUG] event pollers must not wait if a task exists in the run queue
by Willy Tarreau
· Fri Jun 13 21:06:56 2008 +0200
70bcfb7
[OPTIM] GCC4's builtin_expect() is suboptimal
by Willy Tarreau
· Sun Jan 27 02:21:53 2008 +0100
1db3771
[MEDIUM] limit the number of events returned by *poll*
by Willy Tarreau
· Sun Jun 03 17:16:49 2007 +0200
fb8983f
[BUG] the epoll FD must not be shared between processes
by Willy Tarreau
· Sun Jun 03 16:40:44 2007 +0200
bdefc51
[BUG] fix null timeouts in *poll-based pollers
by Willy Tarreau
· Mon May 14 02:02:04 2007 +0200
d825eef
[MAJOR] replaced all timeouts with struct timeval
by Willy Tarreau
· Sat May 12 22:35:00 2007 +0200
ef1d1f8
[MAJOR] auto-registering of pollers at load time
by Willy Tarreau
· Mon Apr 16 00:25:25 2007 +0200
b40d420
[BUILD] declare epoll_* as static when using our own functions
by Willy Tarreau
· Sun Apr 15 23:57:41 2007 +0200
58094f2
[MAJOR] ev_epoll: do not rely on fd_sets anymore
by Willy Tarreau
· Tue Apr 10 01:33:20 2007 +0200
2ff7622
[MAJOR] delay registering of listener sockets at startup
by Willy Tarreau
· Mon Apr 09 19:29:56 2007 +0200
63455a9
[MINOR] use 'is_set' instead of 'isset' in struct poller
by Willy Tarreau
· Mon Apr 09 15:34:49 2007 +0200
69801b8
[MINOR] removed proto/polling.h which was not used anymore
by Willy Tarreau
· Mon Apr 09 15:28:51 2007 +0200
e54e917
[MINOR] ev_* : moved the poll function closer to fd_*
by Willy Tarreau
· Mon Apr 09 09:23:31 2007 +0200
97129b5
[MINOR] changed fd_set*/fd_clr* functions to return ints
by Willy Tarreau
· Mon Apr 09 00:54:46 2007 +0200
28d8686
[MEDIUM] pollers: store the events in arrays
by Willy Tarreau
· Sun Apr 08 17:42:27 2007 +0200
4f60f16
[MAJOR] modularize the polling mechanisms
by Willy Tarreau
· Sun Apr 08 16:39:58 2007 +0200