mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-07 23:56:57 +02:00
MINOR: task: align the rq and wq locks
We really don't want them to share the same cache line as they are expected to be used in parallel. Adding a 64-byte alignment here shows a performance increase of about 4.5% on task-intensive workloads with 2 to 4 threads.
This commit is contained in:
parent
6d1222ce73
commit
a24d1d0be4
@ -40,8 +40,8 @@ unsigned int niced_tasks = 0; /* number of niced tasks in the run queue */
|
|||||||
|
|
||||||
THREAD_LOCAL struct task *curr_task = NULL; /* task currently running or NULL */
|
THREAD_LOCAL struct task *curr_task = NULL; /* task currently running or NULL */
|
||||||
|
|
||||||
__decl_hathreads(HA_SPINLOCK_T rq_lock); /* spin lock related to run queue */
|
__decl_hathreads(HA_SPINLOCK_T __attribute__((aligned(64))) rq_lock); /* spin lock related to run queue */
|
||||||
__decl_hathreads(HA_SPINLOCK_T wq_lock); /* spin lock related to wait queue */
|
__decl_hathreads(HA_SPINLOCK_T __attribute__((aligned(64))) wq_lock); /* spin lock related to wait queue */
|
||||||
|
|
||||||
static struct eb_root timers; /* sorted timers tree */
|
static struct eb_root timers; /* sorted timers tree */
|
||||||
static struct eb_root rqueue; /* tree constituting the run queue */
|
static struct eb_root rqueue; /* tree constituting the run queue */
|
||||||
|
Loading…
Reference in New Issue
Block a user