OPTIM: tasks: align task and tasklet pools to 64

These structs are intensively used and really must not experience false
sharing, so let's declare them aligned to 64. We don't try to align the
struct themselves, as we don't want the compiler to expand them either.
This commit is contained in:
Willy Tarreau 2025-08-11 17:29:04 +02:00
parent c264ea1679
commit c471de7964

View File

@ -27,8 +27,8 @@
extern struct task *process_stream(struct task *t, void *context, unsigned int state); extern struct task *process_stream(struct task *t, void *context, unsigned int state);
extern void stream_update_timings(struct task *t, uint64_t lat, uint64_t cpu); extern void stream_update_timings(struct task *t, uint64_t lat, uint64_t cpu);
DECLARE_TYPED_POOL(pool_head_task, "task", struct task); DECLARE_TYPED_POOL(pool_head_task, "task", struct task, 0, 64);
DECLARE_TYPED_POOL(pool_head_tasklet, "tasklet", struct tasklet); DECLARE_TYPED_POOL(pool_head_tasklet, "tasklet", struct tasklet, 0, 64);
/* This is the memory pool containing all the signal structs. These /* This is the memory pool containing all the signal structs. These
* struct are used to store each required signal between two tasks. * struct are used to store each required signal between two tasks.