From: Willy Tarreau Date: Fri, 5 Jun 2020 06:40:51 +0000 (+0200) Subject: CLEANUP: thread: rename __decl_hathreads() to __decl_thread() X-Git-Tag: v2.2-dev9~121 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=af613e8359496e5f8217a9f0634738c12d21a953;p=thirdparty%2Fhaproxy.git CLEANUP: thread: rename __decl_hathreads() to __decl_thread() I can never figure whether it takes an "s" or not, and in the end it's better if it matches the file's naming, so let's call it "__decl_thread". --- diff --git a/include/common/buffer.h b/include/common/buffer.h index 2f5f882534..cbefc6a2d9 100644 --- a/include/common/buffer.h +++ b/include/common/buffer.h @@ -45,7 +45,7 @@ struct buffer_wait { extern struct pool_head *pool_head_buffer; extern struct mt_list buffer_wq; -__decl_hathreads(extern HA_SPINLOCK_T buffer_wq_lock); +__decl_thread(extern HA_SPINLOCK_T buffer_wq_lock); int init_buffer(); void buffer_dump(FILE *o, struct buffer *b, int from, int to); diff --git a/include/common/memory.h b/include/common/memory.h index 3858ae4eb3..d5b3191b9b 100644 --- a/include/common/memory.h +++ b/include/common/memory.h @@ -87,7 +87,7 @@ struct pool_head { #ifdef CONFIG_HAP_LOCKLESS_POOLS uintptr_t seq; #endif - __decl_hathreads(HA_SPINLOCK_T lock); /* the spin lock */ + __decl_thread(HA_SPINLOCK_T lock); /* the spin lock */ unsigned int used; /* how many chunks are currently in use */ unsigned int needed_avg;/* floating indicator between used and allocated */ unsigned int allocated; /* how many chunks have been allocated */ diff --git a/include/haproxy/thread-t.h b/include/haproxy/thread-t.h index d93324492e..d54ec84469 100644 --- a/include/haproxy/thread-t.h +++ b/include/haproxy/thread-t.h @@ -44,7 +44,7 @@ #define MAX_THREADS_MASK 1 /* These macros allow to make some struct fields or local variables optional */ -#define __decl_hathreads(decl) +#define __decl_thread(decl) #define __decl_spinlock(lock) #define __decl_aligned_spinlock(lock) #define __decl_rwlock(lock) @@ -62,7 +62,7 @@ #define MAX_THREADS_MASK (~0UL >> (LONGBITS - MAX_THREADS)) -#define __decl_hathreads(decl) decl +#define __decl_thread(decl) decl /* declare a self-initializing spinlock */ #define __decl_spinlock(lock) \ @@ -97,7 +97,7 @@ * the pthread identifier which does not exist). */ struct thread_info { - __decl_hathreads(pthread_t pthread); + __decl_thread(pthread_t pthread); clockid_t clock_id; timer_t wd_timer; /* valid timer or TIMER_INVALID if not set */ uint64_t prev_cpu_time; /* previous per thread CPU time */ diff --git a/include/proto/connection.h b/include/proto/connection.h index 2efd629fca..7ffe1fd8cf 100644 --- a/include/proto/connection.h +++ b/include/proto/connection.h @@ -73,7 +73,7 @@ int conn_recv_socks4_proxy_response(struct connection *conn); /* If we delayed the mux creation because we were waiting for the handshake, do it now */ int conn_create_mux(struct connection *conn); -__decl_hathreads(extern HA_SPINLOCK_T toremove_lock[MAX_THREADS]); +__decl_thread(extern HA_SPINLOCK_T toremove_lock[MAX_THREADS]); /* returns true is the transport layer is ready */ static inline int conn_xprt_ready(const struct connection *conn) diff --git a/include/proto/fd.h b/include/proto/fd.h index a3c476d079..9426e1447d 100644 --- a/include/proto/fd.h +++ b/include/proto/fd.h @@ -67,7 +67,7 @@ void fd_remove(int fd); int fd_takeover(int fd, void *expected_owner); #ifndef HA_HAVE_CAS_DW -__decl_hathreads(extern HA_RWLOCK_T fd_mig_lock); +__decl_thread(extern HA_RWLOCK_T fd_mig_lock); #endif ssize_t fd_write_frag_line(int fd, size_t maxlen, const struct ist pfx[], size_t npfx, const struct ist msg[], size_t nmsg, int nl); diff --git a/include/proto/protocol.h b/include/proto/protocol.h index ee9e7e0c44..36162a04b9 100644 --- a/include/proto/protocol.h +++ b/include/proto/protocol.h @@ -27,7 +27,7 @@ #include extern struct protocol *__protocol_by_family[AF_CUST_MAX]; -__decl_hathreads(extern HA_SPINLOCK_T proto_lock); +__decl_thread(extern HA_SPINLOCK_T proto_lock); /* Registers the protocol */ void protocol_register(struct protocol *proto); diff --git a/include/proto/server.h b/include/proto/server.h index 4c4b4bf091..e184310fc0 100644 --- a/include/proto/server.h +++ b/include/proto/server.h @@ -37,7 +37,7 @@ #include -__decl_hathreads(extern HA_SPINLOCK_T idle_conn_srv_lock); +__decl_thread(extern HA_SPINLOCK_T idle_conn_srv_lock); extern struct eb_root idle_conn_srv; extern struct task *idle_conn_task; extern struct task *idle_conn_cleanup[MAX_THREADS]; diff --git a/include/proto/signal.h b/include/proto/signal.h index 558fbc20ab..b2fd2c891c 100644 --- a/include/proto/signal.h +++ b/include/proto/signal.h @@ -21,7 +21,7 @@ extern int signal_queue_len; extern struct signal_descriptor signal_state[]; -__decl_hathreads(extern HA_SPINLOCK_T signals_lock); +__decl_thread(extern HA_SPINLOCK_T signals_lock); void signal_handler(int sig); void __signal_process_queue(); diff --git a/include/proto/ssl_sock.h b/include/proto/ssl_sock.h index 6966512136..2cbd60b311 100644 --- a/include/proto/ssl_sock.h +++ b/include/proto/ssl_sock.h @@ -41,7 +41,7 @@ extern int sctl_ex_index; extern struct global_ssl global_ssl; extern struct ssl_bind_kw ssl_bind_kws[]; extern struct methodVersions methodVersions[]; -__decl_hathreads(extern HA_SPINLOCK_T ckch_lock); +__decl_thread(extern HA_SPINLOCK_T ckch_lock); extern struct pool_head *pool_head_ssl_capture; extern unsigned int openssl_engines_initialized; extern int nb_engines; diff --git a/include/proto/task.h b/include/proto/task.h index 668cee3f4c..05b048b5ab 100644 --- a/include/proto/task.h +++ b/include/proto/task.h @@ -102,8 +102,8 @@ extern int global_rqueue_size; /* Number of element sin the global runqueue */ extern struct task_per_thread task_per_thread[MAX_THREADS]; -__decl_hathreads(extern HA_SPINLOCK_T rq_lock); /* spin lock related to run queue */ -__decl_hathreads(extern HA_RWLOCK_T wq_lock); /* RW lock related to the wait queue */ +__decl_thread(extern HA_SPINLOCK_T rq_lock); /* spin lock related to run queue */ +__decl_thread(extern HA_RWLOCK_T wq_lock); /* RW lock related to the wait queue */ static inline struct task *task_unlink_wq(struct task *t); static inline void task_queue(struct task *task); diff --git a/include/types/backend.h b/include/types/backend.h index 679805879e..1e2b9df342 100644 --- a/include/types/backend.h +++ b/include/types/backend.h @@ -158,7 +158,7 @@ struct lbprm { int arg_opt2; /* extra option 2 for the LB algo (algo-specific) */ int arg_opt3; /* extra option 3 for the LB algo (algo-specific) */ struct server *fbck; /* first backup server when !PR_O_USE_ALL_BK, or NULL */ - __decl_hathreads(HA_SPINLOCK_T lock); + __decl_thread(HA_SPINLOCK_T lock); /* Call backs for some actions. Any of them may be NULL (thus should be ignored). */ void (*update_server_eweight)(struct server *); /* to be called after eweight change */ diff --git a/include/types/dict.h b/include/types/dict.h index 980781692c..def6355233 100644 --- a/include/types/dict.h +++ b/include/types/dict.h @@ -13,7 +13,7 @@ struct dict_entry { struct dict { const char *name; struct eb_root values; - __decl_hathreads(HA_RWLOCK_T rwlock); + __decl_thread(HA_RWLOCK_T rwlock); }; #endif /* _TYPES_DICT_H */ diff --git a/include/types/dns.h b/include/types/dns.h index 0a8bf72dba..f504f5fbb2 100644 --- a/include/types/dns.h +++ b/include/types/dns.h @@ -197,7 +197,7 @@ struct dns_resolvers { struct eb_root query_ids; /* tree to quickly lookup/retrieve query ids currently in use * used by each nameserver, but stored in resolvers since there must * be a unique relation between an eb_root and an eb_node (resolution) */ - __decl_hathreads(HA_SPINLOCK_T lock); + __decl_thread(HA_SPINLOCK_T lock); struct list list; /* resolvers list */ }; diff --git a/include/types/listener.h b/include/types/listener.h index 50e208ed96..fddabb46f0 100644 --- a/include/types/listener.h +++ b/include/types/listener.h @@ -156,7 +156,7 @@ struct bind_conf { struct ssl_bind_conf *default_ssl_conf; /* custom SSL conf of default_ctx */ int strict_sni; /* refuse negotiation if sni doesn't match a certificate */ int ssl_options; /* ssl options */ - __decl_hathreads(HA_RWLOCK_T sni_lock); /* lock the SNI trees during add/del operations */ + __decl_thread(HA_RWLOCK_T sni_lock); /* lock the SNI trees during add/del operations */ struct eb_root sni_ctx; /* sni_ctx tree of all known certs full-names sorted by name */ struct eb_root sni_w_ctx; /* sni_ctx tree of all known certs wildcards sorted by name */ struct tls_keys_ref *keys_ref; /* TLS ticket keys reference */ @@ -217,7 +217,7 @@ struct listener { char *interface; /* interface name or NULL */ char *name; /* listener's name */ - __decl_hathreads(HA_SPINLOCK_T lock); + __decl_thread(HA_SPINLOCK_T lock); const struct netns_entry *netns; /* network namespace of the listener*/ diff --git a/include/types/log.h b/include/types/log.h index ae7ce0b2f0..cfafb919ab 100644 --- a/include/types/log.h +++ b/include/types/log.h @@ -220,7 +220,7 @@ struct logsrv { int minlvl; int maxlen; struct logsrv *ref; - __decl_hathreads(HA_SPINLOCK_T lock); + __decl_thread(HA_SPINLOCK_T lock); }; #endif /* _TYPES_LOG_H */ diff --git a/include/types/pattern.h b/include/types/pattern.h index 1a3e0766f4..aa3ab24ed1 100644 --- a/include/types/pattern.h +++ b/include/types/pattern.h @@ -106,7 +106,7 @@ struct pat_ref { char *display; /* String displayed to identify the pattern origin. */ struct list head; /* The head of the list of struct pat_ref_elt. */ struct list pat; /* The head of the list of struct pattern_expr. */ - __decl_hathreads(HA_SPINLOCK_T lock); /* Lock used to protect pat ref elements */ + __decl_thread(HA_SPINLOCK_T lock); /* Lock used to protect pat ref elements */ }; /* This is a part of struct pat_ref. Each entry contain one @@ -191,7 +191,7 @@ struct pattern_expr { struct eb_root pattern_tree; /* may be used for lookup in large datasets */ struct eb_root pattern_tree_2; /* may be used for different types */ int mflags; /* flags relative to the parsing or matching method. */ - __decl_hathreads(HA_RWLOCK_T lock); /* lock used to protect patterns */ + __decl_thread(HA_RWLOCK_T lock); /* lock used to protect patterns */ }; /* This is a list of expression. A struct pattern_expr can be used by diff --git a/include/types/peers.h b/include/types/peers.h index b3e1e44293..4bd06802ad 100644 --- a/include/types/peers.h +++ b/include/types/peers.h @@ -76,7 +76,7 @@ struct peer { struct shared_table *tables; struct server *srv; struct dcache *dcache; /* dictionary cache */ - __decl_hathreads(HA_SPINLOCK_T lock); /* lock used to handle this peer section */ + __decl_thread(HA_SPINLOCK_T lock); /* lock used to handle this peer section */ struct peer *next; /* next peer in the list */ }; diff --git a/include/types/proxy.h b/include/types/proxy.h index aa1ad3583c..ca642e2a4b 100644 --- a/include/types/proxy.h +++ b/include/types/proxy.h @@ -271,7 +271,7 @@ struct email_alertq { * code even though they are not checks. This structure * is as a parameter to the check code. * Each check corresponds to a mailer */ - __decl_hathreads(HA_SPINLOCK_T lock); + __decl_thread(HA_SPINLOCK_T lock); }; struct proxy { @@ -466,7 +466,7 @@ struct proxy { * name is used */ struct list filter_configs; /* list of the filters that are declared on this proxy */ - __decl_hathreads(HA_SPINLOCK_T lock); /* may be taken under the server's lock */ + __decl_thread(HA_SPINLOCK_T lock); /* may be taken under the server's lock */ }; struct switching_rule { diff --git a/include/types/ring.h b/include/types/ring.h index f5084445a6..b512b07d29 100644 --- a/include/types/ring.h +++ b/include/types/ring.h @@ -96,7 +96,7 @@ struct ring { struct buffer buf; // storage area size_t ofs; // absolute offset in history of the buffer's head struct list waiters; // list of waiters, for now, CLI "show event" - __decl_hathreads(HA_RWLOCK_T lock); + __decl_thread(HA_RWLOCK_T lock); int readers_count; }; diff --git a/include/types/server.h b/include/types/server.h index 0bc5319df5..e4afff4a6e 100644 --- a/include/types/server.h +++ b/include/types/server.h @@ -331,7 +331,7 @@ struct server { } ssl_ctx; #endif struct dns_srvrq *srvrq; /* Pointer representing the DNS SRV requeest, if any */ - __decl_hathreads(HA_SPINLOCK_T lock); /* may enclose the proxy's lock, must not be taken under */ + __decl_thread(HA_SPINLOCK_T lock); /* may enclose the proxy's lock, must not be taken under */ struct { const char *file; /* file where the section appears */ struct eb32_node id; /* place in the tree of used IDs */ diff --git a/include/types/sink.h b/include/types/sink.h index b10cb89123..3feb05ddf7 100644 --- a/include/types/sink.h +++ b/include/types/sink.h @@ -52,7 +52,7 @@ struct sink_forward_target { struct server *srv; // used server struct appctx *appctx; // appctx of current session size_t ofs; // ring buffer reader offset - __decl_hathreads(HA_SPINLOCK_T lock); // lock to protect current struct + __decl_thread(HA_SPINLOCK_T lock); // lock to protect current struct struct sink_forward_target *next; }; @@ -69,7 +69,7 @@ struct sink { struct task *forward_task; // task to handle forward targets conns struct sig_handler *forward_sighandler; /* signal handler */ struct { - __decl_hathreads(HA_RWLOCK_T lock); // shared/excl for dropped + __decl_thread(HA_RWLOCK_T lock); // shared/excl for dropped struct ring *ring; // used by ring buffer and STRM sender unsigned int dropped; // dropped events since last one. int fd; // fd num for FD type sink diff --git a/include/types/spoe.h b/include/types/spoe.h index 562e9f21fe..aa3d5d103d 100644 --- a/include/types/spoe.h +++ b/include/types/spoe.h @@ -275,7 +275,7 @@ struct spoe_agent { struct list applets; /* all SPOE applets for this agent */ struct list sending_queue; /* Queue of streams waiting to send data */ struct list waiting_queue; /* Queue of streams waiting for a ack, in async mode */ - __decl_hathreads(HA_SPINLOCK_T lock); + __decl_thread(HA_SPINLOCK_T lock); } *rt; struct { diff --git a/include/types/ssl_sock.h b/include/types/ssl_sock.h index c8a068173e..27633ecbd1 100644 --- a/include/types/ssl_sock.h +++ b/include/types/ssl_sock.h @@ -161,7 +161,7 @@ struct tls_keys_ref { union tls_sess_key *tlskeys; int tls_ticket_enc_index; int key_size_bits; - __decl_hathreads(HA_RWLOCK_T lock); /* lock used to protect the ref */ + __decl_thread(HA_RWLOCK_T lock); /* lock used to protect the ref */ }; /* shared ssl session */ diff --git a/include/types/stick_table.h b/include/types/stick_table.h index 832ecd25a2..61ca5223a3 100644 --- a/include/types/stick_table.h +++ b/include/types/stick_table.h @@ -139,7 +139,7 @@ extern struct stktable_type stktable_types[]; struct stksess { unsigned int expire; /* session expiration date */ unsigned int ref_cnt; /* reference count, can only purge when zero */ - __decl_hathreads(HA_RWLOCK_T lock); /* lock related to the table entry */ + __decl_thread(HA_RWLOCK_T lock); /* lock related to the table entry */ struct eb32_node exp; /* ebtree node used to hold the session in expiration tree */ struct eb32_node upd; /* ebtree node used to hold the update sequence tree */ struct ebmb_node key; /* ebtree node used to hold the session in table */ @@ -163,7 +163,7 @@ struct stktable { struct eb_root exps; /* head of sticky session expiration tree */ struct eb_root updates; /* head of sticky updates sequence tree */ struct pool_head *pool; /* pool used to allocate sticky sessions */ - __decl_hathreads(HA_SPINLOCK_T lock); /* spin lock related to the table */ + __decl_thread(HA_SPINLOCK_T lock); /* spin lock related to the table */ struct task *exp_task; /* expiration task */ struct task *sync_task; /* sync task */ unsigned int update; diff --git a/include/types/task.h b/include/types/task.h index fe945df273..6515d464a9 100644 --- a/include/types/task.h +++ b/include/types/task.h @@ -64,7 +64,7 @@ struct notification { struct list wake_me; /* Part of list of signals to be targeted if an event occurs. */ struct task *task; /* The task to be wake if an event occurs. */ - __decl_hathreads(HA_SPINLOCK_T lock); + __decl_thread(HA_SPINLOCK_T lock); }; /* force to split per-thread stuff into separate cache lines */ diff --git a/include/types/vars.h b/include/types/vars.h index e7d71d34d9..62b944b258 100644 --- a/include/types/vars.h +++ b/include/types/vars.h @@ -19,7 +19,7 @@ struct vars { struct list head; enum vars_scope scope; unsigned int size; - __decl_hathreads(HA_RWLOCK_T rwlock); + __decl_thread(HA_RWLOCK_T rwlock); }; /* This struct describes a variable. */ diff --git a/src/auth.c b/src/auth.c index 4decf84c98..2058f1fe2f 100644 --- a/src/auth.c +++ b/src/auth.c @@ -44,7 +44,7 @@ struct userlist *userlist = NULL; /* list of all existing userlists */ static THREAD_LOCAL struct crypt_data crypt_data = { .initialized = 0 }; #else /* lock for crypt() */ -__decl_hathreads(static HA_SPINLOCK_T auth_lock); +__decl_thread(static HA_SPINLOCK_T auth_lock); #endif #endif diff --git a/src/fd.c b/src/fd.c index f4aa83b7a1..c7bc54efaf 100644 --- a/src/fd.c +++ b/src/fd.c @@ -335,7 +335,7 @@ static void fd_dodelete(int fd, int do_close) } #ifndef HA_HAVE_CAS_DW -__decl_hathreads(__decl_rwlock(fd_mig_lock)); +__decl_thread(__decl_rwlock(fd_mig_lock)); #endif /* diff --git a/src/haproxy.c b/src/haproxy.c index b1853cf1bd..67e423783a 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -2949,8 +2949,8 @@ static void *run_thread_poll_loop(void *data) struct per_thread_deinit_fct *ptdf; struct per_thread_free_fct *ptff; static int init_left = 0; - __decl_hathreads(static pthread_mutex_t init_mutex = PTHREAD_MUTEX_INITIALIZER); - __decl_hathreads(static pthread_cond_t init_cond = PTHREAD_COND_INITIALIZER); + __decl_thread(static pthread_mutex_t init_mutex = PTHREAD_MUTEX_INITIALIZER); + __decl_thread(static pthread_cond_t init_cond = PTHREAD_COND_INITIALIZER); ha_set_tid((unsigned long)data); sched = &task_per_thread[tid]; diff --git a/src/listener.c b/src/listener.c index c035ed8419..3315d60e78 100644 --- a/src/listener.c +++ b/src/listener.c @@ -735,7 +735,7 @@ void listener_accept(int fd) struct sockaddr_storage addr; socklen_t laddr = sizeof(addr); unsigned int count; - __decl_hathreads(unsigned long mask); + __decl_thread(unsigned long mask); /* pre-increase the number of connections without going too far. * We process the listener, then the proxy, then the process. diff --git a/src/memory.c b/src/memory.c index 0bca712781..a0e57c7d89 100644 --- a/src/memory.c +++ b/src/memory.c @@ -600,7 +600,7 @@ INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws); #define MEM_FAIL_MAX_STR 128 static int mem_fail_cur_idx; static char mem_fail_str[MEM_FAIL_MAX_CHAR * MEM_FAIL_MAX_STR]; -__decl_hathreads(static HA_SPINLOCK_T mem_fail_lock); +__decl_thread(static HA_SPINLOCK_T mem_fail_lock); int mem_should_fail(const struct pool_head *pool) { diff --git a/src/server.c b/src/server.c index 791747c312..bdf2c994db 100644 --- a/src/server.c +++ b/src/server.c @@ -61,12 +61,12 @@ static struct srv_kw_list srv_keywords = { .list = LIST_HEAD_INIT(srv_keywords.list) }; -__decl_hathreads(HA_SPINLOCK_T idle_conn_srv_lock); +__decl_thread(HA_SPINLOCK_T idle_conn_srv_lock); struct eb_root idle_conn_srv = EB_ROOT; struct task *idle_conn_task = NULL; struct task *idle_conn_cleanup[MAX_THREADS] = { NULL }; struct mt_list toremove_connections[MAX_THREADS]; -__decl_hathreads(HA_SPINLOCK_T toremove_lock[MAX_THREADS]); +__decl_thread(HA_SPINLOCK_T toremove_lock[MAX_THREADS]); /* The server names dictionary */ struct dict server_name_dict = { diff --git a/src/ssl_sock.c b/src/ssl_sock.c index c2bea22a09..0b0b4b9f12 100644 --- a/src/ssl_sock.c +++ b/src/ssl_sock.c @@ -272,7 +272,7 @@ static int ssl_locking_init(void) #endif -__decl_hathreads(HA_SPINLOCK_T ckch_lock); +__decl_thread(HA_SPINLOCK_T ckch_lock); /* diff --git a/src/task.c b/src/task.c index fc09787877..55a54a4712 100644 --- a/src/task.c +++ b/src/task.c @@ -162,7 +162,7 @@ void wake_expired_tasks() struct task_per_thread * const tt = sched; // thread's tasks struct task *task; struct eb32_node *eb; - __decl_hathreads(int key); + __decl_thread(int key); while (1) { lookup_next_local: @@ -284,7 +284,7 @@ int next_timer_expiry() struct task_per_thread * const tt = sched; // thread's tasks struct eb32_node *eb; int ret = TICK_ETERNITY; - __decl_hathreads(int key); + __decl_thread(int key); /* first check in the thread-local timers */ eb = eb32_lookup_ge(&tt->timers, now_ms - TIMER_LOOK_BACK);