mirror of
http://git.haproxy.org/git/haproxy.git
synced 2026-02-11 01:33:02 +02: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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user