unsigned int wake_signal; // pending signal prevented poll() from sleeping
unsigned int poll_io; // number of times poll() reported I/O events
unsigned int poll_exp; // number of times poll() sees an expired timeout (includes wake_*)
- unsigned int poll_drop; // poller dropped a dead FD from the update list
- unsigned int poll_dead; // poller woke up with a dead FD
- unsigned int poll_skip; // poller skipped another thread's FD
+ unsigned int poll_drop_fd; // poller dropped a dead FD from the update list
+ unsigned int poll_dead_fd; // poller woke up with a dead FD
+ unsigned int poll_skip_fd; // poller skipped another thread's FD
unsigned int conn_dead; // conn_fd_handler woke up on an FD indicating a dead connection
unsigned int stream; // calls to process_stream()
unsigned int ctxsw; // total number of context switches
chunk_appendf(&trash, "wake_signal:"); SHOW_TOT(thr, activity[thr].wake_signal);
chunk_appendf(&trash, "poll_io:"); SHOW_TOT(thr, activity[thr].poll_io);
chunk_appendf(&trash, "poll_exp:"); SHOW_TOT(thr, activity[thr].poll_exp);
- chunk_appendf(&trash, "poll_drop:"); SHOW_TOT(thr, activity[thr].poll_drop);
- chunk_appendf(&trash, "poll_dead:"); SHOW_TOT(thr, activity[thr].poll_dead);
- chunk_appendf(&trash, "poll_skip:"); SHOW_TOT(thr, activity[thr].poll_skip);
+ chunk_appendf(&trash, "poll_drop_fd:"); SHOW_TOT(thr, activity[thr].poll_drop_fd);
+ chunk_appendf(&trash, "poll_dead_fd:"); SHOW_TOT(thr, activity[thr].poll_dead_fd);
+ chunk_appendf(&trash, "poll_skip_fd:"); SHOW_TOT(thr, activity[thr].poll_skip_fd);
chunk_appendf(&trash, "conn_dead:"); SHOW_TOT(thr, activity[thr].conn_dead);
chunk_appendf(&trash, "stream:"); SHOW_TOT(thr, activity[thr].stream);
chunk_appendf(&trash, "pool_fail:"); SHOW_TOT(thr, activity[thr].pool_fail);
_HA_ATOMIC_AND(&fdtab[fd].update_mask, ~tid_bit);
if (!fdtab[fd].owner) {
- activity[tid].poll_drop++;
+ activity[tid].poll_drop_fd++;
continue;
}
fd = epoll_events[count].data.fd;
if (!fdtab[fd].owner) {
- activity[tid].poll_dead++;
+ activity[tid].poll_dead_fd++;
continue;
}
if (!(fdtab[fd].thread_mask & tid_bit)) {
/* FD has been migrated */
- activity[tid].poll_skip++;
+ activity[tid].poll_skip_fd++;
epoll_ctl(epoll_fd[tid], EPOLL_CTL_DEL, fd, &ev);
_HA_ATOMIC_AND(&polled_mask[fd].poll_recv, ~tid_bit);
_HA_ATOMIC_AND(&polled_mask[fd].poll_send, ~tid_bit);
_HA_ATOMIC_AND(&fdtab[fd].update_mask, ~tid_bit);
if (fdtab[fd].owner == NULL) {
- activity[tid].poll_drop++;
+ activity[tid].poll_drop_fd++;
continue;
}
events = evports_evlist[i].portev_events;
if (fdtab[fd].owner == NULL) {
- activity[tid].poll_dead++;
+ activity[tid].poll_dead_fd++;
continue;
}
if (!(fdtab[fd].thread_mask & tid_bit)) {
- activity[tid].poll_skip++;
+ activity[tid].poll_skip_fd++;
continue;
}
_HA_ATOMIC_AND(&fdtab[fd].update_mask, ~tid_bit);
if (!fdtab[fd].owner) {
- activity[tid].poll_drop++;
+ activity[tid].poll_drop_fd++;
continue;
}
changes = _update_fd(fd, changes);
fd = kev[count].ident;
if (!fdtab[fd].owner) {
- activity[tid].poll_dead++;
+ activity[tid].poll_dead_fd++;
continue;
}
if (!(fdtab[fd].thread_mask & tid_bit)) {
- activity[tid].poll_skip++;
+ activity[tid].poll_skip_fd++;
continue;
}
_HA_ATOMIC_AND(&fdtab[fd].update_mask, ~tid_bit);
if (!fdtab[fd].owner) {
- activity[tid].poll_drop++;
+ activity[tid].poll_drop_fd++;
continue;
}
_update_fd(fd, &max_add_fd);
}
if (!(fdtab[fd].thread_mask & tid_bit)) {
- activity[tid].poll_skip++;
+ activity[tid].poll_skip_fd++;
continue;
}
status--;
if (!fdtab[fd].owner) {
- activity[tid].poll_dead++;
+ activity[tid].poll_dead_fd++;
continue;
}
_HA_ATOMIC_AND(&fdtab[fd].update_mask, ~tid_bit);
if (!fdtab[fd].owner) {
- activity[tid].poll_drop++;
+ activity[tid].poll_drop_fd++;
continue;
}
_update_fd(fd, &max_add_fd);
unsigned int n = 0;
if (!fdtab[fd].owner) {
- activity[tid].poll_dead++;
+ activity[tid].poll_dead_fd++;
continue;
}
if (!(fdtab[fd].thread_mask & tid_bit)) {
- activity[tid].poll_skip++;
+ activity[tid].poll_skip_fd++;
continue;
}