2022-01-19 19:07:54

by Walt Drummond

[permalink] [raw]
Subject: [PATCH 0/3] status: TTY status message request

This patchset adds TTY status message request feature to the n_tty
line dicipline. This feature prints a brief message containing basic
system and process group information to a user's TTY in response to a
new control character in the line dicipline (default Ctrl-T) or the
TIOCSTAT ioctl. The message contains the current system load, the
name and PID of an interesting process in the forground process group,
it's run time, percent CPU usage and RSS. An example of this message
is:

load: 0.31 cmd: sleep 3616843 [sleeping] 0.36r 0.00u 0.00s 0% 696k

User API visible changes are limited to:
- The addition of VSTATUS in termios.c_cc[]
- The addition of NOKERNINFO bit in termios.l_cflags
- The addition of the TIOCSTAT ioctl number

None of these changes break the existing kernel api as the termios
structure on all architectures has enough space in the control
character array (.c_cc) for the new character, and the other changes
are space agnostic.

This feature is in many other Unix-like systems, both current and
historical. In other implementations, this feature would also send
SIGINFO to the process group; this implementation does not.

Walt Drummond (3):
vstatus: Allow the n_tty line dicipline to write to a user tty
vstatus: Add user space API definitions for VSTATUS, NOKERNINFO and
TIOCSTAT
status: Display an informational message when the VSTATUS character is
pressed or TIOCSTAT ioctl is called.

arch/alpha/include/asm/termios.h | 4 +-
arch/alpha/include/uapi/asm/ioctls.h | 1 +
arch/alpha/include/uapi/asm/termbits.h | 34 ++---
arch/ia64/include/asm/termios.h | 4 +-
arch/ia64/include/uapi/asm/termbits.h | 34 ++---
arch/mips/include/asm/termios.h | 4 +-
arch/mips/include/uapi/asm/ioctls.h | 1 +
arch/mips/include/uapi/asm/termbits.h | 36 ++---
arch/parisc/include/asm/termios.h | 4 +-
arch/parisc/include/uapi/asm/ioctls.h | 1 +
arch/parisc/include/uapi/asm/termbits.h | 34 ++---
arch/powerpc/include/asm/termios.h | 4 +-
arch/powerpc/include/uapi/asm/ioctls.h | 2 +
arch/powerpc/include/uapi/asm/termbits.h | 34 ++---
arch/s390/include/asm/termios.h | 4 +-
arch/sh/include/uapi/asm/ioctls.h | 1 +
arch/sparc/include/uapi/asm/ioctls.h | 1 +
arch/sparc/include/uapi/asm/termbits.h | 38 +++---
arch/xtensa/include/uapi/asm/ioctls.h | 1 +
drivers/tty/Makefile | 2 +-
drivers/tty/n_tty.c | 113 +++++++++++-----
drivers/tty/n_tty_status.c | 162 +++++++++++++++++++++++
drivers/tty/tty_io.c | 2 +-
include/asm-generic/termios.h | 4 +-
include/linux/tty.h | 123 ++++++++---------
include/uapi/asm-generic/ioctls.h | 1 +
include/uapi/asm-generic/termbits.h | 34 ++---
27 files changed, 461 insertions(+), 222 deletions(-)
create mode 100644 drivers/tty/n_tty_status.c

--
2.30.2


2022-01-26 21:23:22

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH 0/3] status: TTY status message request

On Mon, Jan 17, 2022 at 08:42:57PM -0800, Walt Drummond wrote:
> This patchset adds TTY status message request feature to the n_tty
> line dicipline. This feature prints a brief message containing basic
> system and process group information to a user's TTY in response to a
> new control character in the line dicipline (default Ctrl-T) or the
> TIOCSTAT ioctl. The message contains the current system load, the
> name and PID of an interesting process in the forground process group,
> it's run time, percent CPU usage and RSS. An example of this message
> is:
>
> load: 0.31 cmd: sleep 3616843 [sleeping] 0.36r 0.00u 0.00s 0% 696k
>
> User API visible changes are limited to:
> - The addition of VSTATUS in termios.c_cc[]
> - The addition of NOKERNINFO bit in termios.l_cflags
> - The addition of the TIOCSTAT ioctl number
>
> None of these changes break the existing kernel api as the termios
> structure on all architectures has enough space in the control
> character array (.c_cc) for the new character, and the other changes
> are space agnostic.
>
> This feature is in many other Unix-like systems, both current and
> historical. In other implementations, this feature would also send
> SIGINFO to the process group; this implementation does not.
>
> Walt Drummond (3):
> vstatus: Allow the n_tty line dicipline to write to a user tty
> vstatus: Add user space API definitions for VSTATUS, NOKERNINFO and
> TIOCSTAT
> status: Display an informational message when the VSTATUS character is
> pressed or TIOCSTAT ioctl is called.
>
> arch/alpha/include/asm/termios.h | 4 +-
> arch/alpha/include/uapi/asm/ioctls.h | 1 +
> arch/alpha/include/uapi/asm/termbits.h | 34 ++---
> arch/ia64/include/asm/termios.h | 4 +-
> arch/ia64/include/uapi/asm/termbits.h | 34 ++---
> arch/mips/include/asm/termios.h | 4 +-
> arch/mips/include/uapi/asm/ioctls.h | 1 +
> arch/mips/include/uapi/asm/termbits.h | 36 ++---
> arch/parisc/include/asm/termios.h | 4 +-
> arch/parisc/include/uapi/asm/ioctls.h | 1 +
> arch/parisc/include/uapi/asm/termbits.h | 34 ++---
> arch/powerpc/include/asm/termios.h | 4 +-
> arch/powerpc/include/uapi/asm/ioctls.h | 2 +
> arch/powerpc/include/uapi/asm/termbits.h | 34 ++---
> arch/s390/include/asm/termios.h | 4 +-
> arch/sh/include/uapi/asm/ioctls.h | 1 +
> arch/sparc/include/uapi/asm/ioctls.h | 1 +
> arch/sparc/include/uapi/asm/termbits.h | 38 +++---
> arch/xtensa/include/uapi/asm/ioctls.h | 1 +
> drivers/tty/Makefile | 2 +-
> drivers/tty/n_tty.c | 113 +++++++++++-----
> drivers/tty/n_tty_status.c | 162 +++++++++++++++++++++++
> drivers/tty/tty_io.c | 2 +-
> include/asm-generic/termios.h | 4 +-
> include/linux/tty.h | 123 ++++++++---------
> include/uapi/asm-generic/ioctls.h | 1 +
> include/uapi/asm-generic/termbits.h | 34 ++---
> 27 files changed, 461 insertions(+), 222 deletions(-)
> create mode 100644 drivers/tty/n_tty_status.c
>
> --
> 2.30.2
>

You forgot to cc: me on patch 2/3, which would be needed if I was to
take them all.

Please fix up patch 2 and resend the whole series.

thanks,

greg k-h

2022-02-01 02:22:18

by Walt Drummond

[permalink] [raw]
Subject: Re: [PATCH 0/3] status: TTY status message request

ACK, will do.

On Wed, Jan 26, 2022 at 5:45 AM Greg KH <[email protected]> wrote:
>
> On Mon, Jan 17, 2022 at 08:42:57PM -0800, Walt Drummond wrote:
> > This patchset adds TTY status message request feature to the n_tty
> > line dicipline. This feature prints a brief message containing basic
> > system and process group information to a user's TTY in response to a
> > new control character in the line dicipline (default Ctrl-T) or the
> > TIOCSTAT ioctl. The message contains the current system load, the
> > name and PID of an interesting process in the forground process group,
> > it's run time, percent CPU usage and RSS. An example of this message
> > is:
> >
> > load: 0.31 cmd: sleep 3616843 [sleeping] 0.36r 0.00u 0.00s 0% 696k
> >
> > User API visible changes are limited to:
> > - The addition of VSTATUS in termios.c_cc[]
> > - The addition of NOKERNINFO bit in termios.l_cflags
> > - The addition of the TIOCSTAT ioctl number
> >
> > None of these changes break the existing kernel api as the termios
> > structure on all architectures has enough space in the control
> > character array (.c_cc) for the new character, and the other changes
> > are space agnostic.
> >
> > This feature is in many other Unix-like systems, both current and
> > historical. In other implementations, this feature would also send
> > SIGINFO to the process group; this implementation does not.
> >
> > Walt Drummond (3):
> > vstatus: Allow the n_tty line dicipline to write to a user tty
> > vstatus: Add user space API definitions for VSTATUS, NOKERNINFO and
> > TIOCSTAT
> > status: Display an informational message when the VSTATUS character is
> > pressed or TIOCSTAT ioctl is called.
> >
> > arch/alpha/include/asm/termios.h | 4 +-
> > arch/alpha/include/uapi/asm/ioctls.h | 1 +
> > arch/alpha/include/uapi/asm/termbits.h | 34 ++---
> > arch/ia64/include/asm/termios.h | 4 +-
> > arch/ia64/include/uapi/asm/termbits.h | 34 ++---
> > arch/mips/include/asm/termios.h | 4 +-
> > arch/mips/include/uapi/asm/ioctls.h | 1 +
> > arch/mips/include/uapi/asm/termbits.h | 36 ++---
> > arch/parisc/include/asm/termios.h | 4 +-
> > arch/parisc/include/uapi/asm/ioctls.h | 1 +
> > arch/parisc/include/uapi/asm/termbits.h | 34 ++---
> > arch/powerpc/include/asm/termios.h | 4 +-
> > arch/powerpc/include/uapi/asm/ioctls.h | 2 +
> > arch/powerpc/include/uapi/asm/termbits.h | 34 ++---
> > arch/s390/include/asm/termios.h | 4 +-
> > arch/sh/include/uapi/asm/ioctls.h | 1 +
> > arch/sparc/include/uapi/asm/ioctls.h | 1 +
> > arch/sparc/include/uapi/asm/termbits.h | 38 +++---
> > arch/xtensa/include/uapi/asm/ioctls.h | 1 +
> > drivers/tty/Makefile | 2 +-
> > drivers/tty/n_tty.c | 113 +++++++++++-----
> > drivers/tty/n_tty_status.c | 162 +++++++++++++++++++++++
> > drivers/tty/tty_io.c | 2 +-
> > include/asm-generic/termios.h | 4 +-
> > include/linux/tty.h | 123 ++++++++---------
> > include/uapi/asm-generic/ioctls.h | 1 +
> > include/uapi/asm-generic/termbits.h | 34 ++---
> > 27 files changed, 461 insertions(+), 222 deletions(-)
> > create mode 100644 drivers/tty/n_tty_status.c
> >
> > --
> > 2.30.2
> >
>
> You forgot to cc: me on patch 2/3, which would be needed if I was to
> take them all.
>
> Please fix up patch 2 and resend the whole series.
>
> thanks,
>
> greg k-h