freebsd-skq/libexec
Konstantin Belousov aef199e563 Use sigfastblock(2) in rtld.
This allows for rtld to not issue two sigprocmask(2) syscalls for each
symbol binding operation in single-threaded processes.  Rtld needs to
block signals as part of locking to ensure signal safety of the bind
process, because signal handlers might need to lazily resolve symbol
references.

As result, number of syscalls issued on startup by simple programs not
using libthr, is typically reduced 2x.  For instance, for hello world,
I see:
non-sigfastblock
# (truss ./hello > /dev/null) |& wc -l
      63
sigfastblock
# (truss ./hello > /dev/null) |& wc -l
      37

Tested by:	pho
Disscussed with:	cem, emaste, jilles
Sponsored by:	The FreeBSD Foundation
Differential revision:	https://reviews.freebsd.org/D12773
2020-02-09 12:22:43 +00:00
..
atf Another round of attempting to squelch -Wdeprecated-declarations, which 2019-09-17 06:07:08 +00:00
atrun
blacklistd-helper
bootpd Restore WARNS?=1 here. I missed that libexec/bootpd/bootpgw existed. 2019-07-19 18:47:13 +00:00
comsat
dma
fingerd Update Makefile.depend files 2019-12-11 17:37:53 +00:00
flua flua: newer GCC complains about format-nonliteral at WARNS=2 2019-11-19 00:02:56 +00:00
ftpd Update Makefile.depend files 2019-12-11 17:37:53 +00:00
getty Simplify code with strlcpy/strlcat. 2019-12-01 08:04:22 +00:00
hyperv
mail.local
makewhatis.local makewhatis: do not try to operate on read-only mounted directories 2018-10-27 17:15:58 +00:00
mknetid
pppoed
rbootd Fix the following -Werror warning from clang 10.0.0 in rbootd: 2020-01-28 19:19:55 +00:00
rc auditd_stop: wait_for_pids instead of sleeping 2020-02-06 08:32:30 +00:00
revnetgroup
rpc.rquotad
rpc.rstatd
rpc.rusersd
rpc.rwalld
rpc.sprayd
rtld-aout
rtld-elf Use sigfastblock(2) in rtld. 2020-02-09 12:22:43 +00:00
rtld-elf32 libcompat: Correct rtld MLINKS 2019-11-12 22:31:59 +00:00
save-entropy Reduce disk write load in /usr/libexec/save-entropy. 2019-11-30 20:06:53 +00:00
smrsh
talkd Regularize my copyright notice 2019-12-04 16:56:11 +00:00
tcpd
telnetd Update Makefile.depend files 2019-12-11 17:37:53 +00:00
tests
tftp-proxy
tftpd Update Makefile.depend files 2019-12-11 17:37:53 +00:00
ulog-helper
ypxfr
Makefile Add flua to the base system, install to /usr/libexec 2019-11-18 23:21:13 +00:00
Makefile.amd64
Makefile.i386
Makefile.inc