aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/openssl/crypto/asn1
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2014-06-09 03:38:03 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2014-06-09 03:38:03 +0000
commit7f82c6c17f30a5aad5c29f342a9a28f672ce737f (patch)
tree7c2316986992954183c7ec9c2758a423c606c097 /crypto/openssl/crypto/asn1
parent4648ba0a0f20a61d9fc0dcd26bbf00283d86e465 (diff)
downloadsrc-7f82c6c17f30a5aad5c29f342a9a28f672ce737f.tar.gz
src-7f82c6c17f30a5aad5c29f342a9a28f672ce737f.zip
Change the nblock mutex, protecting the needsbuffer buffer deficit
flags, to rwlock. Lock it in read mode when used from subroutines called from buffer release code paths. The needsbuffer is now updated using atomics, while read lock of nblock prevents loosing the wakeups from bufspacewakeup() and bufcountadd() in getnewbuf_bufd_help(). In several interesting loads, needsbuffer flags are never set, while buffers are reused quickly. This causes brelse() and bqrelse() from different threads to content on the nblock. Now they take nblock in read mode, together with needsbuffer not needing an update, allowing higher parallelism. Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
Notes
Notes: svn path=/head/; revision=267255
Diffstat (limited to 'crypto/openssl/crypto/asn1')
0 files changed, 0 insertions, 0 deletions