Willy Tarreau
2831cb104f
BUG/MINOR: stick-table: make sure never to miss a process_table_expire update
...
In stktable_requeue_exp(), there's a tiny race at the beginning during
which we check the task's expiration date to decide whether or not to
wake process_table_expire() up. During this race, the task might just
have finished running on its owner thread and we can miss a task_queue()
opportunity, which probably explains why during testing it seldom happens
that a few entries are left at the end.
Let's perform a CAS to confirm the value is still the same before
leaving. This way we're certain that our value has been seen at least
once.
This should be backported to 3.2.
2025-09-10 18:45:01 +02:00
..
2025-09-05 11:32:20 +02:00
2025-08-11 15:09:18 +02:00
2025-09-10 10:44:33 +02:00
2025-08-25 11:11:05 +02:00
2024-10-18 14:30:24 +02:00
2025-02-06 16:55:37 +01:00
2025-09-09 19:01:24 +02:00
2024-10-18 18:28:39 +02:00
2025-08-25 11:11:05 +02:00
2024-09-15 23:44:59 +02:00
2024-09-15 23:44:59 +02:00
2024-09-15 23:44:59 +02:00
2024-09-15 23:44:59 +02:00
2024-09-15 23:44:59 +02:00
2024-09-15 23:44:59 +02:00
2024-09-15 23:44:59 +02:00
2024-09-15 23:44:59 +02:00
2024-09-15 23:44:59 +02:00
2025-01-20 17:53:55 +01:00
2025-09-05 08:51:07 +02:00
2025-09-02 07:29:54 +02:00
2025-04-29 15:19:32 +02:00
2025-09-05 15:56:42 +02:00
2025-07-03 16:30:15 +02:00
2025-09-05 15:56:42 +02:00
2024-09-30 11:36:39 +02:00
2025-09-09 16:55:09 +02:00
2025-01-29 17:55:18 +01:00
2025-08-28 14:52:29 +02:00
2025-08-07 22:27:09 +02:00
2025-08-11 19:55:30 +02:00
2025-09-09 19:01:24 +02:00
2025-09-03 15:59:37 +02:00
2025-07-17 19:07:58 +02:00
2025-09-06 11:05:52 +02:00
2025-09-09 17:56:14 +02:00
2024-11-18 18:50:02 +01:00
2024-07-09 16:46:38 +02:00
2025-09-10 16:48:09 +02:00
2025-08-11 19:55:30 +02:00
2025-01-07 16:42:38 +01:00
2025-02-26 13:00:18 +01:00
2025-02-26 13:00:18 +01:00
2025-02-26 13:00:18 +01:00
2024-05-24 12:07:18 +02:00
2024-05-24 12:07:18 +02:00
2025-08-11 19:55:30 +02:00
2024-11-15 15:39:00 +01:00
2025-08-11 19:55:30 +02:00
2025-08-11 19:55:30 +02:00
2025-08-11 19:55:30 +02:00
2025-08-11 19:55:30 +02:00
2025-09-02 07:29:54 +02:00
2025-08-26 16:12:18 +02:00
2025-02-06 17:01:15 +01:00
2025-07-29 18:04:14 +02:00
2025-07-25 16:46:10 +02:00
2025-08-07 22:26:58 +02:00
2025-07-10 14:10:42 +02:00
2025-05-16 15:13:17 +02:00
2025-05-16 15:13:17 +02:00
2024-05-16 10:31:17 +02:00
2025-08-11 19:55:30 +02:00
2025-09-08 16:04:40 +02:00
2025-08-11 19:55:30 +02:00
2025-08-25 11:11:05 +02:00
2025-09-09 16:55:09 +02:00
2025-07-25 18:24:23 +02:00
2025-08-25 10:59:16 +02:00
2025-08-25 11:11:05 +02:00
2024-11-06 10:06:52 +01:00
2025-04-02 11:12:20 +02:00
2024-12-11 10:00:01 +01:00
2025-01-03 10:10:09 +01:00
2024-11-19 15:20:02 +01:00
2024-11-19 15:29:40 +01:00
2025-07-24 12:13:42 +02:00
2025-01-31 15:51:51 +01:00
2025-08-07 22:27:14 +02:00
2025-04-02 19:34:09 +02:00
2025-07-10 19:49:48 +02:00
2025-03-25 18:01:01 +01:00
2025-01-28 12:49:41 +01:00
2025-08-11 19:55:30 +02:00
2025-04-17 17:38:23 +02:00
2025-01-28 12:49:41 +01:00
2024-03-29 17:08:37 +01:00
2025-04-03 11:37:25 +02:00
2025-09-05 08:51:07 +02:00
2025-07-25 16:46:10 +02:00
2025-09-04 23:07:22 +02:00
2024-04-13 08:43:12 +02:00
2025-06-27 16:41:18 +02:00
2025-04-24 15:09:37 +02:00
2024-08-30 14:58:59 +02:00
2025-09-01 15:35:22 +02:00
2025-09-09 19:01:24 +02:00
2025-09-09 16:30:54 +02:00
2025-08-20 18:33:10 +02:00
2025-09-04 18:31:20 +02:00
2025-09-01 15:35:22 +02:00
2025-08-20 17:15:52 +02:00
2024-12-10 08:05:34 +01:00
2025-07-05 00:12:45 +02:00
2025-07-01 11:55:36 +02:00
2025-09-09 17:56:37 +02:00
2025-08-11 19:55:30 +02:00
2025-09-08 16:04:40 +02:00
2025-06-12 11:25:12 +02:00
2025-09-05 15:56:42 +02:00
2024-11-25 15:20:24 +01:00
2025-07-09 09:51:24 +02:00
2024-08-21 17:37:46 +02:00
2024-10-29 12:14:50 +01:00
2025-06-11 18:37:34 +02:00
2024-08-30 18:53:49 +02:00
2025-09-09 17:56:37 +02:00
2025-07-15 18:39:23 +02:00
2025-06-12 11:28:54 +02:00
2024-05-16 10:31:17 +02:00
2025-07-15 18:39:23 +02:00
2025-08-11 19:55:30 +02:00
2025-08-11 19:55:30 +02:00
2025-04-29 15:10:06 +02:00
2025-04-29 15:10:06 +02:00
2024-12-13 14:42:43 +01:00
2025-04-29 15:10:06 +02:00
2025-04-29 15:10:06 +02:00
2025-05-21 14:44:27 +02:00
2024-09-03 17:49:21 +02:00
2025-06-11 18:37:34 +02:00
2025-09-08 16:18:05 +02:00
2025-03-07 12:06:26 +01:00
2024-01-31 16:28:54 +01:00
2025-08-28 08:19:34 +02:00
2025-01-31 15:34:30 +01:00
2025-08-07 16:59:59 +02:00
2025-01-23 17:41:07 +01:00
2025-08-07 16:59:59 +02:00
2025-06-26 09:48:00 +02:00
2025-01-27 11:11:43 +01:00
2025-09-03 09:41:38 +02:00
2025-07-16 10:17:54 +02:00
2025-09-08 11:46:26 +02:00
2024-04-26 10:20:57 +02:00
2025-08-11 19:55:30 +02:00
2025-08-11 19:55:30 +02:00
2024-08-30 17:04:09 +02:00
2025-06-27 07:59:12 +02:00
2025-08-07 16:59:59 +02:00
2025-09-08 16:18:05 +02:00
2025-08-20 18:33:11 +02:00
2025-09-10 16:51:14 +02:00
2025-08-13 17:47:39 +02:00
2025-09-05 08:51:51 +02:00
2025-09-05 15:56:08 +02:00
2025-09-09 19:01:24 +02:00
2025-08-28 15:08:35 +02:00
2024-05-21 17:55:03 +02:00
2025-08-11 19:55:30 +02:00
2025-07-25 18:24:23 +02:00
2025-05-16 16:43:53 +02:00
2025-07-29 18:04:14 +02:00
2024-10-29 12:15:24 +01:00
2025-08-08 06:01:18 +02:00
2025-08-27 16:22:12 +02:00
2025-07-21 16:44:50 +02:00
2025-08-11 17:42:16 +02:00
2025-07-09 16:01:02 +02:00
2025-07-04 15:21:50 +02:00
2024-08-26 15:17:40 +02:00
2025-09-10 12:02:53 +02:00
2025-07-21 16:44:50 +02:00
2025-07-24 10:58:54 +02:00
2025-09-08 13:38:49 +02:00
2025-08-28 18:58:11 +02:00
2025-02-06 17:19:49 +01:00
2025-08-28 18:58:11 +02:00
2025-07-05 00:12:45 +02:00
2025-08-25 11:11:05 +02:00
2025-09-10 18:45:01 +02:00
2025-09-09 17:56:14 +02:00
2024-11-25 08:09:09 +01:00
2025-09-09 17:56:14 +02:00
2025-09-05 15:56:08 +02:00
2025-07-25 18:24:23 +02:00
2025-04-02 14:57:40 +02:00
2025-09-09 16:55:09 +02:00
2025-07-21 13:56:29 +02:00
2025-09-10 10:44:33 +02:00
2025-09-05 09:33:28 +02:00
2024-11-14 15:03:38 +01:00
2024-07-18 13:29:52 +02:00
2025-08-11 19:55:30 +02:00
2025-01-20 17:53:55 +01:00
2025-05-20 16:37:06 +02:00
2025-08-20 17:28:03 +02:00
2025-09-04 20:49:06 +02:00