File: PR_FUTEX_HASH_SET_SLOTS.2const

package info (click to toggle)
manpages 6.16-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 20,476 kB
  • sloc: sh: 576; python: 222; perl: 191; makefile: 29; lisp: 22
file content (67 lines) | stat: -rw-r--r-- 1,475 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
.\" Copyright, the authors of the Linux man-pages project
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.TH PR_FUTEX_HASH_SET_SLOTS 2const 2025-10-15 "Linux man-pages (unreleased)"
.SH NAME
PR_FUTEX_HASH_SET_SLOTS
\-
set the size of the private hash
.SH LIBRARY
Standard C library
.RI ( libc ,\~ \-lc )
.SH SYNOPSIS
.nf
.BR "#include <linux/prctl.h>" "  /* Definition of " PR_* " constants */"
.B #include <sys/prctl.h>
.P
.B int prctl(PR_FUTEX_HASH, PR_FUTEX_HASH_SET_SLOTS,
.BI "          unsigned long " size ", unsigned long " flags );
.fi
.SH DESCRIPTION
Set the number of slots to use for the private hash.
.TP
.I size
Specify the size of private hash to allocate.
.RS
.TP
.I 0
Use the global hash.
This is the behaviour used before Linux 6.17.
.TP
.I >0
Specify the number of slots to allocate.
The value must be power of two, and the lowest possible value is 2.
The upper limit depends on the available memory in the system.
Each slot requires 64 bytes of memory.
Kernels compiled with
.I CONFIG_PROVE_LOCKING
will consume more than that.
.RE
.TP
.I flags
.RS
The argument must be 0.
.SH RETURN VALUE
On success,
0 is returned.
On error, \-1 is returned, and
.I errno
is set to indicate the error.
.SH ERRORS
.TP
.B EINVAL
An argument is invalid.
.TP
.B ENOMEM
Failed to allocate memory.
.TP
.B EBUSY
The global hash is in use and can not be changed.
.SH STANDARDS
Linux.
.SH HISTORY
Linux 6.17.
.SH SEE ALSO
.BR prctl (2),
.BR PR_FUTEX_HASH (2const)