]> git.sur5r.net Git - openldap/commit
Fixes for multiple threadpool queues
authorHoward Chu <hyc@openldap.org>
Wed, 15 Mar 2017 11:13:09 +0000 (11:13 +0000)
committerHoward Chu <hyc@openldap.org>
Wed, 15 Mar 2017 11:13:09 +0000 (11:13 +0000)
commite12ca8b6fed6b8a2526c5c8ee820bf5aa942b59d
treed098164779884eed339a55f9888ed9b7f260f67c
parent53c6c9d16bdc26e1999008a28b06d6e192de4784
Fixes for multiple threadpool queues

Remove poolq_hash, it wasn't distributing work evenly to the queues.
Just walk through all queues and use the one with smallest
active+pending count. Since pool_retract also relied on the hash,
a different means of locating the thread to retract was needed.
Add pool_submit2 which returns the threadpool task structure,
and record which poolq this task lives on.
include/ldap_pvt_thread.h
include/ldap_rq.h
libraries/libldap_r/tpool.c
servers/slapd/daemon.c
servers/slapd/syncrepl.c