]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
CLEANUP: tasks: rename task_remove_from_tasklet_list() to tasklet_remove_*
authorWilly Tarreau <w@1wt.eu>
Fri, 14 Jun 2019 12:47:49 +0000 (14:47 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 14 Jun 2019 12:57:03 +0000 (14:57 +0200)
The function really only operates on tasklets, its arguments are always
tasklets cast as tasks to match the function's type, to be cast back to
a struct tasklet. Let's rename it to tasklet_remove_from_tasklet_list(),
take a struct tasklet, and get rid of the undesired task casts.

include/proto/task.h
src/checks.c
src/mux_h2.c
src/task.c

index 5f4940cbe163b5b036c77dcec228ed3d48c68fe2..41227b8d81a5853f7424ad7496a5e8941bd51fc0 100644 (file)
@@ -246,21 +246,19 @@ static inline void task_insert_into_tasklet_list(struct task *t)
        LIST_ADDQ(&task_per_thread[tid].task_list, &tl->list);
 }
 
-/* remove the task from the tasklet list. The task MUST already be there. If
- * unsure, use task_remove_from_task_list() instead.
+/* remove the task from the tasklet list. The tasklet MUST already be there. If
+ * unsure, use tasklet_remove_from_tasklet_list() instead.
  */
-static inline void __task_remove_from_tasklet_list(struct task *t)
+static inline void __tasklet_remove_from_tasklet_list(struct tasklet *t)
 {
-       LIST_DEL_INIT(&((struct tasklet *)t)->list);
-       if (!TASK_IS_TASKLET(t))
-               task_per_thread[tid].task_list_size--;
+       LIST_DEL_INIT(&t->list);
        _HA_ATOMIC_SUB(&tasks_run_queue, 1);
 }
 
-static inline void task_remove_from_tasklet_list(struct task *t)
+static inline void tasklet_remove_from_tasklet_list(struct tasklet *t)
 {
-       if (likely(!LIST_ISEMPTY(&((struct tasklet *)t)->list)))
-               __task_remove_from_tasklet_list(t);
+       if (likely(!LIST_ISEMPTY(&t->list)))
+               __tasklet_remove_from_tasklet_list(t);
 }
 
 /*
index e1a2e68700b822a0b9fd63be8972daa6d314e13c..c175a752d7e9fc367546d7ddef42456ab5433ea9 100644 (file)
@@ -2254,7 +2254,7 @@ static struct task *process_chk_conn(struct task *t, void *context, unsigned sho
                         * I/O handler expects to have a cs, so remove
                         * the tasklet
                         */
-                       task_remove_from_tasklet_list((struct task *)check->wait_list.tasklet);
+                       tasklet_remove_from_tasklet_list(check->wait_list.tasklet);
                        cs_destroy(cs);
                        cs = check->cs = NULL;
                        conn = NULL;
@@ -2315,10 +2315,10 @@ static struct task *process_chk_conn(struct task *t, void *context, unsigned sho
                                    check->wait_list.events,
                                    &check->wait_list);
                        /* We may have been scheduled to run, and the
-                         * I/O handler expects to have a cs, so remove
-                         * the tasklet
-                         */
-                        task_remove_from_tasklet_list((struct task *)check->wait_list.tasklet);
+                        * I/O handler expects to have a cs, so remove
+                        * the tasklet
+                        */
+                       tasklet_remove_from_tasklet_list(check->wait_list.tasklet);
                        cs_destroy(cs);
                        cs = check->cs = NULL;
                        conn = NULL;
@@ -2831,13 +2831,11 @@ static int tcpcheck_main(struct check *check)
                                                                    cs->conn->xprt_ctx,
                                                                    check->wait_list.events,
                                                                    &check->wait_list);
-                       /* We may have been scheduled to run, and the
-                         * I/O handler expects to have a cs, so remove
-                         * the tasklet
-                         */
-                        task_remove_from_tasklet_list((struct task *)check->wait_list.tasklet);
-
-
+                               /* We may have been scheduled to run, and the
+                                * I/O handler expects to have a cs, so remove
+                                * the tasklet
+                                */
+                               tasklet_remove_from_tasklet_list(check->wait_list.tasklet);
                                cs_destroy(check->cs);
                        }
 
index 9fb222ee75837d8fa1fdaf96d9ab215fad0a4289..20108bd7f8ef70d97ba687eabc91e0a28718de5b 100644 (file)
@@ -911,7 +911,7 @@ static void h2s_destroy(struct h2s *h2s)
         */
        LIST_DEL_INIT(&h2s->list);
        if (LIST_ADDED(&h2s->sending_list)) {
-               task_remove_from_tasklet_list((struct task *)h2s->send_wait->tasklet);
+               tasklet_remove_from_tasklet_list(h2s->send_wait->tasklet);
                LIST_DEL_INIT(&h2s->sending_list);
        }
        tasklet_free(h2s->wait_event.tasklet);
@@ -3144,7 +3144,7 @@ static void h2_detach(struct conn_stream *cs)
        /* The stream is about to die, so no need to attempt to run its task */
        if (LIST_ADDED(&h2s->sending_list) &&
            h2s->send_wait != &h2s->wait_event) {
-               task_remove_from_tasklet_list((struct task *)h2s->send_wait->tasklet);
+               tasklet_remove_from_tasklet_list(h2s->send_wait->tasklet);
                LIST_DEL_INIT(&h2s->sending_list);
                /*
                 * At this point, the stream_interface is supposed to have called
@@ -5346,7 +5346,7 @@ static int h2_unsubscribe(struct conn_stream *cs, int event_type, void *param)
                /* We were about to send, make sure it does not happen */
                if (LIST_ADDED(&h2s->sending_list) &&
                    h2s->send_wait != &h2s->wait_event) {
-                       task_remove_from_tasklet_list((struct task *)h2s->send_wait->tasklet);
+                       tasklet_remove_from_tasklet_list(h2s->send_wait->tasklet);
                        LIST_DEL_INIT(&h2s->sending_list);
                }
                h2s->send_wait = NULL;
@@ -5439,7 +5439,7 @@ static void h2_stop_senders(struct h2c *h2c)
 
        list_for_each_entry_safe(h2s, h2s_back, &h2c->sending_list, sending_list) {
                LIST_DEL_INIT(&h2s->sending_list);
-               task_remove_from_tasklet_list((struct task *)h2s->send_wait->tasklet);
+               tasklet_remove_from_tasklet_list(h2s->send_wait->tasklet);
                h2s->send_wait->events |= SUB_RETRY_SEND;
        }
 }
index d004a2cdfc72a24fbb4e21352342327b6426cea9..16832080082f785522c363db6ce00d1855684635 100644 (file)
@@ -388,7 +388,7 @@ void process_runnable_tasks()
                t = (struct task *)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
                state = _HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
                __ha_barrier_atomic_store();
-               __task_remove_from_tasklet_list(t);
+               __tasklet_remove_from_tasklet_list((struct tasklet *)t);
 
                ti->flags &= ~TI_FL_STUCK; // this thread is still running
                activity[tid].ctxsw++;