blob: 9f94fe276dea9cc6e8ec2983d43b6adb72d9f43f [file] [log] [blame]
Eric W. Biedermaneedf2652016-06-02 10:29:47 -05001Each mount of the devpts filesystem is now distinct such that ptys
2and their indicies allocated in one mount are independent from ptys
3and their indicies in all other mounts.
Sukadev Bhattiprolu784c4d82009-01-02 13:42:34 +00004
Eric W. Biedermaneedf2652016-06-02 10:29:47 -05005All mounts of the devpts filesystem now create a /dev/pts/ptmx node
6with permissions 0000.
Sukadev Bhattiprolu784c4d82009-01-02 13:42:34 +00007
Eric W. Biedermaneedf2652016-06-02 10:29:47 -05008To retain backwards compatibility the a ptmx device node (aka any node
9created with "mknod name c 5 2") when opened will look for an instance
10of devpts under the name "pts" in the same directory as the ptmx device
11node.
Sukadev Bhattiprolu784c4d82009-01-02 13:42:34 +000012
Eric W. Biedermaneedf2652016-06-02 10:29:47 -050013As an option instead of placing a /dev/ptmx device node at /dev/ptmx
14it is possible to place a symlink to /dev/pts/ptmx at /dev/ptmx or
15to bind mount /dev/ptx/ptmx to /dev/ptmx. If you opt for using
16the devpts filesystem in this manner devpts should be mounted with
17the ptmxmode=0666, or chmod 0666 /dev/pts/ptmx should be called.
Sukadev Bhattiprolu784c4d82009-01-02 13:42:34 +000018
Konstantin Khlebnikov8b253b02016-02-21 10:06:14 +030019Total count of pty pairs in all instances is limited by sysctls:
20kernel.pty.max = 4096 - global limit
Eric W. Biedermaneedf2652016-06-02 10:29:47 -050021kernel.pty.reserve = 1024 - reserved for filesystems mounted from the initial mount namespace
Konstantin Khlebnikov8b253b02016-02-21 10:06:14 +030022kernel.pty.nr - current count of ptys
23
24Per-instance limit could be set by adding mount option "max=<count>".
25This feature was added in kernel 3.4 together with sysctl kernel.pty.reserve.
26In kernels older than 3.4 sysctl kernel.pty.max works as per-instance limit.