freebsd-skq/sys
Mateusz Guzik 34ebdceac0 Manage process-related IDs with bitmaps
Currently unique pid allocation on fork often requires a full walk of
process, group, session lists to make sure it is not used by anything.
This has a side effect of requiring proctree to be held along with allproc,
which adds more contention in poudriere -j 128.

The patch below implements trivial bitmaps which gets rid of the problem.
Dedicated lock is introduced to manage IDs.

While here a bug was discovered: all processes would inherit reap id from
the first process spawned by init. This had a side effect of keeping the
ID used and when allocation rolls over to the beginning it keeps being
skipped.

The patch is loosely based on initial work by mjoras@.

Reviewed by:	kib
Sponsored by:	The FreeBSD Foundation
2018-12-07 12:22:32 +00:00
..
amd64 Plug memory disclosures via ptrace(2). 2018-12-03 20:54:17 +00:00
arm Fix cut&paste typo in atomic_fetchadd_64(). 2018-12-07 11:10:27 +00:00
arm64 Build the dtb for the rock64 board. 2018-12-02 19:36:20 +00:00
bsm
cam daprobedone: announce if a disk is write-protected 2018-12-07 12:02:31 +00:00
cddl zfs: we can boot from dataset with large_dnode enabled 2018-12-03 19:35:21 +00:00
compat Remove redundant declaration after r341517. 2018-12-05 15:56:44 +00:00
conf Fix LINT build after r341572. 2018-12-05 15:42:31 +00:00
contrib Remove an ugly Ultrix hack. Ultrix has been AWOL since the last ice 2018-12-06 20:15:54 +00:00
crypto rijndael (AES): Avoid leaking sensitive data on kernel stack 2018-10-26 20:53:01 +00:00
ddb
dev netmap: remove dead code obsoleted by iflib 2018-12-07 11:47:42 +00:00
dts arm64: allwinner: Add 792Mhz frequency to sun50i-a64-opp 2018-11-30 10:31:30 +00:00
fs Plug memory disclosures via ptrace(2). 2018-12-03 20:54:17 +00:00
gdb
geom gmirror: Evaluate mirror components against newest metadata copy 2018-12-07 02:44:04 +00:00
gnu Update our devicetree to 4.19 for arm and arm64 2018-11-10 21:02:32 +00:00
i386 Plug memory disclosures via ptrace(2). 2018-12-03 20:54:17 +00:00
isa
kern Manage process-related IDs with bitmaps 2018-12-07 12:22:32 +00:00
kgssapi
libkern
mips Add CAPABILITIES to the ERL kernel config so that tools that have been 2018-11-28 13:25:10 +00:00
modules mlx5fpga_tools initial code import. 2018-12-05 14:17:22 +00:00
net netmap.h: include stdatomic.h 2018-12-05 15:38:52 +00:00
net80211
netgraph ng_source(4): correction after the change r340617 2018-11-27 04:05:38 +00:00
netinet Clamp the INPCB port hash tables to IPPORT_MAX + 1 chains. 2018-12-05 17:06:00 +00:00
netinet6 Clamp the INPCB port hash tables to IPPORT_MAX + 1 chains. 2018-12-05 17:06:00 +00:00
netipsec Add sadb_x_sa2 extension to SADB_ACQUIRE requests. 2018-10-21 14:19:16 +00:00
netpfil pfsync: Performance improvement 2018-12-06 19:27:15 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed ipoib: Notify on modify QP failure only when relevant 2018-12-05 13:27:17 +00:00
opencrypto Add sha224 to the authctx union. 2018-10-23 18:07:37 +00:00
powerpc powerpc: Set very low priority mode while waiting for AP unleash event 2018-12-06 04:36:02 +00:00
riscv Fix reporting of SS_ONSTACK 2018-11-30 22:44:33 +00:00
rpc
security audit: predict AUDITING_TD as false 2018-11-29 09:19:48 +00:00
sparc64 Plug memory disclosures via ptrace(2). 2018-12-03 20:54:17 +00:00
sys Manage process-related IDs with bitmaps 2018-12-07 12:22:32 +00:00
teken Implement ECMA-48 "REP", some Linuxen have started emitting them recently. 2018-10-21 08:29:36 +00:00
tests
tools Use ${ECHO} in dtb/dtbo build, pass in from dtb.mk for -s 2018-11-09 18:56:40 +00:00
ufs If the vfs.ffs.dotrimcons sysctl option is enabled while a file 2018-12-06 01:04:56 +00:00
vm Normalize COMPAT_43 syscall declarations. 2018-12-04 16:48:47 +00:00
x86 Add definitions for Intel Speed Shift 2018-11-21 00:21:58 +00:00
xdr
xen
Makefile