From f65610a83dbddb7a7a42fa95c6ae7dd95f718d7d Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Tue, 31 Oct 2017 16:06:06 +0100 Subject: [PATCH] CLEANUP: threads: rename process_mask to thread_mask It was a leftover from the last cleaning session; this mask applies to threads and calling it process_mask is a bit confusing. It's the same in fd, task and applets. --- include/proto/applet.h | 2 +- include/proto/fd.h | 2 +- include/proto/task.h | 7 ++++--- include/types/applet.h | 2 +- include/types/fd.h | 2 +- include/types/task.h | 2 +- src/applet.c | 2 +- src/ev_epoll.c | 2 +- src/ev_kqueue.c | 2 +- src/ev_poll.c | 2 +- src/ev_select.c | 2 +- src/fd.c | 4 ++-- src/task.c | 2 +- 13 files changed, 17 insertions(+), 16 deletions(-) diff --git a/include/proto/applet.h b/include/proto/applet.h index 766fc9231..a6f2633b1 100644 --- a/include/proto/applet.h +++ b/include/proto/applet.h @@ -50,7 +50,7 @@ static inline void appctx_init(struct appctx *appctx, unsigned long thread_mask) { appctx->st0 = appctx->st1 = appctx->st2 = 0; appctx->io_release = NULL; - appctx->process_mask = thread_mask; + appctx->thread_mask = thread_mask; appctx->state = APPLET_SLEEPING; } diff --git a/include/proto/fd.h b/include/proto/fd.h index 72af70fa9..e240f5c12 100644 --- a/include/proto/fd.h +++ b/include/proto/fd.h @@ -404,7 +404,7 @@ static inline void fd_insert(int fd, unsigned long thread_mask) fdtab[fd].linger_risk = 0; fdtab[fd].cloned = 0; fdtab[fd].cache = 0; - fdtab[fd].process_mask = thread_mask; + fdtab[fd].thread_mask = thread_mask; SPIN_UNLOCK(FD_LOCK, &fdtab[fd].lock); SPIN_LOCK(FDTAB_LOCK, &fdtab_lock); diff --git a/include/proto/task.h b/include/proto/task.h index cb98fefc7..6a89cd964 100644 --- a/include/proto/task.h +++ b/include/proto/task.h @@ -127,11 +127,12 @@ static inline struct task *task_wakeup(struct task *t, unsigned int f) return t; } +/* change the thread affinity of a task to */ static inline void task_set_affinity(struct task *t, unsigned long thread_mask) { - - t->process_mask = thread_mask; + t->thread_mask = thread_mask; } + /* * Unlink the task from the wait queue, and possibly update the last_timer * pointer. A pointer to the task itself is returned. The task *must* already @@ -202,7 +203,7 @@ static inline struct task *task_init(struct task *t, unsigned long thread_mask) t->wq.node.leaf_p = NULL; t->rq.node.leaf_p = NULL; t->pending_state = t->state = TASK_SLEEPING; - t->process_mask = thread_mask; + t->thread_mask = thread_mask; t->nice = 0; t->calls = 0; t->expire = TICK_ETERNITY; diff --git a/include/types/applet.h b/include/types/applet.h index b56c5631c..1c469a51f 100644 --- a/include/types/applet.h +++ b/include/types/applet.h @@ -67,7 +67,7 @@ struct appctx { if the command is terminated or the session released */ int cli_severity_output; /* used within the cli_io_handler to format severity output of informational feedback */ struct buffer_wait buffer_wait; /* position in the list of objects waiting for a buffer */ - unsigned long process_mask; /* mask of thread IDs authorized to process the applet */ + unsigned long thread_mask; /* mask of thread IDs authorized to process the applet */ union { struct { diff --git a/include/types/fd.h b/include/types/fd.h index e196aec98..2da65992a 100644 --- a/include/types/fd.h +++ b/include/types/fd.h @@ -94,7 +94,7 @@ enum fd_states { struct fdtab { void (*iocb)(int fd); /* I/O handler */ void *owner; /* the connection or listener associated with this fd, NULL if closed */ - unsigned long process_mask; /* mask of thread IDs authorized to process the task */ + unsigned long thread_mask; /* mask of thread IDs authorized to process the task */ #ifdef USE_THREAD HA_SPINLOCK_T lock; #endif diff --git a/include/types/task.h b/include/types/task.h index 799e6c5ed..236324d1b 100644 --- a/include/types/task.h +++ b/include/types/task.h @@ -72,7 +72,7 @@ struct task { void *context; /* the task's context */ struct eb32_node wq; /* ebtree node used to hold the task in the wait queue */ int expire; /* next expiration date for this task, in ticks */ - unsigned long process_mask; /* mask of thread IDs authorized to process the task */ + unsigned long thread_mask; /* mask of thread IDs authorized to process the task */ }; /* diff --git a/src/applet.c b/src/applet.c index 427062e36..47f30c40a 100644 --- a/src/applet.c +++ b/src/applet.c @@ -43,7 +43,7 @@ void applet_run_active() curr = LIST_NEXT(&applet_active_queue, typeof(curr), runq); while (&curr->runq != &applet_active_queue) { next = LIST_NEXT(&curr->runq, typeof(next), runq); - if (curr->process_mask & tid_bit) { + if (curr->thread_mask & tid_bit) { LIST_DEL(&curr->runq); curr->state = APPLET_RUNNING; LIST_ADDQ(&applet_cur_queue, &curr->runq); diff --git a/src/ev_epoll.c b/src/ev_epoll.c index d26c3a21f..65e5164fd 100644 --- a/src/ev_epoll.c +++ b/src/ev_epoll.c @@ -136,7 +136,7 @@ REGPRM2 static void _do_poll(struct poller *p, int exp) unsigned int e = epoll_events[count].events; fd = epoll_events[count].data.fd; - if (!fdtab[fd].owner || !(fdtab[fd].process_mask & tid_bit)) + if (!fdtab[fd].owner || !(fdtab[fd].thread_mask & tid_bit)) continue; /* it looks complicated but gcc can optimize it away when constants diff --git a/src/ev_kqueue.c b/src/ev_kqueue.c index 2ae27748a..00dc965c6 100644 --- a/src/ev_kqueue.c +++ b/src/ev_kqueue.c @@ -122,7 +122,7 @@ REGPRM2 static void _do_poll(struct poller *p, int exp) unsigned int n = 0; fd = kev[count].ident; - if (!fdtab[fd].owner || !(fdtab[fd].process_mask & tid_bit)) + if (!fdtab[fd].owner || !(fdtab[fd].thread_mask & tid_bit)) continue; if (kev[count].filter == EVFILT_READ) { diff --git a/src/ev_poll.c b/src/ev_poll.c index f7632b61f..edeffa86b 100644 --- a/src/ev_poll.c +++ b/src/ev_poll.c @@ -112,7 +112,7 @@ REGPRM2 static void _do_poll(struct poller *p, int exp) for (count = 0, fd = fds * 8*sizeof(**fd_evts); count < 8*sizeof(**fd_evts) && fd < maxfd; count++, fd++) { - if (!fdtab[fd].owner || !(fdtab[fd].process_mask & tid_bit)) + if (!fdtab[fd].owner || !(fdtab[fd].thread_mask & tid_bit)) continue; sr = (rn >> count) & 1; diff --git a/src/ev_select.c b/src/ev_select.c index 4f5a2d112..5dad408ee 100644 --- a/src/ev_select.c +++ b/src/ev_select.c @@ -141,7 +141,7 @@ REGPRM2 static void _do_poll(struct poller *p, int exp) /* if we specify read first, the accepts and zero reads will be * seen first. Moreover, system buffers will be flushed faster. */ - if (!fdtab[fd].owner || !(fdtab[fd].process_mask & tid_bit)) + if (!fdtab[fd].owner || !(fdtab[fd].thread_mask & tid_bit)) continue; if (FD_ISSET(fd, tmp_evts[DIR_RD])) diff --git a/src/fd.c b/src/fd.c index ea5d683b8..e8419aae1 100644 --- a/src/fd.c +++ b/src/fd.c @@ -202,7 +202,7 @@ static void fd_dodelete(int fd, int do_close) fdtab[fd].owner = NULL; fdtab[fd].updated = 0; fdtab[fd].new = 0; - fdtab[fd].process_mask = 0; + fdtab[fd].thread_mask = 0; if (do_close) close(fd); SPIN_UNLOCK(FD_LOCK, &fdtab[fd].lock); @@ -245,7 +245,7 @@ void fd_process_cached_events() for (entry = 0; entry < fd_cache_num; ) { fd = fd_cache[entry]; - if (!(fdtab[fd].process_mask & tid_bit)) + if (!(fdtab[fd].thread_mask & tid_bit)) goto next; if (SPIN_TRYLOCK(FD_LOCK, &fdtab[fd].lock)) goto next; diff --git a/src/task.c b/src/task.c index 7623da959..1768e075d 100644 --- a/src/task.c +++ b/src/task.c @@ -229,7 +229,7 @@ void process_runnable_tasks() while (local_tasks_count < 16) { t = eb32_entry(rq_next, struct task, rq); rq_next = eb32_next(rq_next); - if (t->process_mask & tid_bit) { + if (t->thread_mask & tid_bit) { /* detach the task from the queue */ __task_unlink_rq(t); t->state |= TASK_RUNNING;