Re: [PATCH 2/2] tty: rework pty count limiting

From: Konstantin Khlebnikov
Date: Mon Jan 02 2012 - 17:21:48 EST


Greg KH wrote:
On Mon, Jan 02, 2012 at 09:23:01PM +0400, Konstantin Khlebnikov wrote:
After adding devpts multiple-insrances sysctl kernel.pty.max limit pty count for
each devpts instance independently, while kernel.pty.nr shows total pty count.

This patch restores sysctl kernel.pty.max as global limit (4096 by default),
adds pty reseve for main devpts (mounted without "newinstance" argument),
and new sysctl to tune it: kernel.pty.reserve (1024 by default)

Also it adds devpts mount option "max=%d" to limit pty count for each devpts
instance independently. (by default NR_UNIX98_PTY_MAX == 2^20)

Thus devpts instances in containers cannot eat up all available pty even if we didn't
set any limits, while with "max" argument we can adjust limits more precisely.

Plus, now open("/dev/ptmx") return -ENOSPC in case lack of pty indexes,
this is more informative than -EIO.

That's a userspace api change, why is this going to be allowed?

open() can return -ENOSPC in case normal fs,
meanwhile error codes for /dev/ptmx wasn't documented at all:
there is nothing in manpage pts, pty and ptmx.
manpage posix_openpt and getpt refers to manpage open(2).
I can return EIO back, if this is critical.


greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/