mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-11 16:08:00 +00:00
MEDIUM: stick-table: requeue the wakeup task out of the write lock
We don't need to call stktable_requeue_exp() with the table's lock held anymore, so let's move it out. It should slightly reduce the contention on the write lock, though it is now already quite low.
This commit is contained in:
parent
dbae89e09c
commit
cbdb528a76
@ -566,10 +566,10 @@ struct stksess *stktable_get_entry(struct stktable *table, struct stktable_key *
|
||||
ts = ts2;
|
||||
}
|
||||
|
||||
stktable_requeue_exp(table, ts);
|
||||
HA_ATOMIC_INC(&ts->ref_cnt);
|
||||
HA_RWLOCK_WRUNLOCK(STK_TABLE_LOCK, &table->lock);
|
||||
|
||||
stktable_requeue_exp(table, ts);
|
||||
return ts;
|
||||
}
|
||||
|
||||
@ -604,8 +604,9 @@ struct stksess *stktable_set_entry(struct stktable *table, struct stksess *nts)
|
||||
/* now we're write-locked */
|
||||
|
||||
__stktable_store(table, ts);
|
||||
stktable_requeue_exp(table, ts);
|
||||
HA_RWLOCK_WRUNLOCK(STK_TABLE_LOCK, &table->lock);
|
||||
|
||||
stktable_requeue_exp(table, ts);
|
||||
return ts;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user