Messages in this thread | | | Date | Thu, 18 Oct 2012 14:12:27 -0700 | From | Greg KH <> | Subject | Re: [PATCH 00/21] TTY buffer in tty_port and other stuff |
| |
On Thu, Oct 18, 2012 at 10:26:26PM +0200, Jiri Slaby wrote: > Hi, > > this is the fifth series of patches which finally move tty buffers > from tty_struct (present from open to close/hangup) to tty_port > (present as long as the device). This allows us to get rid of the tty > refcounting in the interrupt service routines and other hot paths > after we are done. This is because we do not need to handle races > among ISRs, timers, hangups and others, because tty_port lives as long > as an interrupt/timer tick may occur. Unlike tty_struct. > > This set also cleans up devpts handling a bit. Devpts used to play > with tty->driver_data which was a bit ugly. Now devpts returns a node > which we store to driver_data and pass it back when we need devpts to > kill that. As a result, we can do that in the pty code instead of an > ugly hook in tty_release. > > Finally, the set moves all the n_tty private stuff from tty_struct to > its own (internal) structure. This was an intention last time ago (at > least here), but the races and undefined ldisc->open/close behavior > did not allow us to do that. Now that we have ldisc kills and waits > and bells and whistles we could finally go ahead. > > As usual, standard x86 stuff was runtime-tested. The rest is only > checked to be compilation-errors free.
Nice work, I'll queue it up for 3.8 and let's see what breaks in linux-next :)
greg k-h
| |