Date: Mon, 25 Aug 2014 15:37:24 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-current@freebsd.org Cc: Davide Italiano <davide@freebsd.org>, Ed Schouten <ed@80386.nl> Subject: Re: RFC: Remove pty(4) Message-ID: <1471750.VzNR6ldJSe@ralph.baldwin.cx> In-Reply-To: <CACYV=-E1BA3rHP5s%2BCs-X-J5CNAaSNxDgqPkgnJu3uUXCyaUGA@mail.gmail.com> References: <CACYV=-E1BA3rHP5s%2BCs-X-J5CNAaSNxDgqPkgnJu3uUXCyaUGA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday, August 20, 2014 11:00:14 AM Davide Italiano wrote: > One of my personal goals for 11 is to get rid of cloning mechanism > entirely, and pty(4) is one of the few in-kernel drivers still relying > on such mechanism. > It's not possible, at least to my understanding, converting pty(4) to > cdevpriv(9) as happened with other drivers. This is mainly because we > always need a pair of devices (/dev/ptyXX and /dev/ttyXX) and > userspace loops over ptyXX and after it successfully opens it tries to > open the other one with the same suffix. So, having a single device is > not really enough. > My option, instead, is that of removing pty(4), which is nothing more > than a compatibility driver, and move pmtx(4) code somewhere else. > The main drawback of the removal of this is that it makes impossible > to run FreeBSD <= 7 jails and SSH into them. I personally don't > consider this a huge issue, in light of the fact that FreeBSD-7 has > been EOL for a long time, but I would like to hear other people > comments. > > The code review for the proposed change can be found here: > https://reviews.freebsd.org/D659 > > If I won't get any objection I'll commit this in one week time, i.e. > August 27th. Why not just statically create the pairs in /dev? Use some loader tunable (kern.ptymax) to set a count on the number of pre-created device pairs to create and then just explicitly create them in the mod_event handler? It could default to 100 or so. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1471750.VzNR6ldJSe>