]> git.ipfire.org Git - thirdparty/openssl.git/commit
Align Windows RCU implementation to the pthread variant
authorMilan Broz <gmazyland@gmail.com>
Wed, 11 Mar 2026 21:40:27 +0000 (22:40 +0100)
committerTomas Mraz <tomas@openssl.foundation>
Fri, 13 Mar 2026 17:25:59 +0000 (18:25 +0100)
commitface2e7654d7e705e1a4d178a83b81189021b8d2
tree502de665c1c015e872cdf4b6fa88adc883f8af4e
parent908b66e40efe58472b118664f99163d2508d1035
Align Windows RCU implementation to the pthread variant

Unlike the pthread variant, Windows RCU uses broadcast instead
of targeted signal calls in some places, unnecessarily increasing
the number of used cycles.

The retire_qp should wake up only one thread to proceed, not
all of them.  For update_qp, that signals the thread after
increasing writers_alloced, signalling all threads does not make
sense either.

The speedup is significant on lhash_test, running on many CPUs
(on 32 cores, a speedup from 6:20 to 1:40 minutes on test hw).

Co-Authored-By: Claude Opus 4.6 Extended <noreply@anthropic.com>
Signed-off-by: Milan Broz <gmazyland@gmail.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Fri Mar 13 17:25:47 2026
(Merged from https://github.com/openssl/openssl/pull/30388)

(cherry picked from commit 5f8fad06475fae024609cf09a1bb2ca8c74b44d6)
crypto/threads_win.c