History log of /freebsd-9.3-release/usr.sbin/pstat/pstat.8
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 267654 19-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 225736 22-Sep-2011 kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by: re (implicit)


# 188487 11-Feb-2009 ed

Serialize write() calls on TTYs.

Just like the old TTY layer, the current MPSAFE TTY layer does not make
any attempt to serialize calls of write(). Data is copied into the
kernel in 256 (TTY_STACKBUF) byte chunks. If a write() call occurs at
the same time, the data may interleave. This is especially likely when
the TTY starts blocking, because the output queue reaches the high
watermark.

I've implemented this by adding a new flag, TTY_BUSY_OUT, which is used
to mark a TTY as having a thread stuck in write(). Because I don't want
non-blocking processes to be possibly blocked by a sleeping thread, I'm
still allowing it to bypass the protection. According to this message,
the Linux kernel returns EAGAIN in such cases, but I think that's a
little too restrictive:

http://kerneltrap.org/index.php?q=mailarchive/linux-kernel/2007/5/2/85418/thread

PR: kern/118287


# 188147 05-Feb-2009 ed

Don't leave the console TTY constantly open.

When we leave the console TTY constantly open, we never reset the
termios attributes. This causes output processing, echoing, etc. not to
be reset to the proper values when going into single user mode after the
system has booted. It also causes nl-to-crnl-conversion not to take
place during shutdown, which causes a `staircase effect'.

This patch adds a new TTY flag, TF_OPENED_CONS, which is set when the
TTY is opened through /dev/console. Because the flags are only used by
the kernel and the pstat(8) utility, I've decided to renumber the TTY
flags. This shouldn't be an issue, because the TTY layer is not yet part
of a stable release.

Reported by: Mark Atkinson <atkin901 yahoo com>
Tested by: sepotvin


# 183276 22-Sep-2008 ed

Introduce a hooks layer for the MPSAFE TTY layer.

One of the features that prevented us from fixing some of the TTY
consumers to work once again, was an interface that allowed consumers to
do the following:

- `Sniff' incoming data, which is used by the snp(4) driver.

- Take direct control of the input and output paths of a TTY, which is
used by ng_tty(4), ppp(4), sl(4), etc.

There's no practical advantage in committing a hooks layer without
having any consumers. In P4 there is a preliminary port of snp(4) and
thompsa@ is busy porting ng_tty(4) to this interface. I already want to
have it in the tree, because this may stimulate others to work on the
remaining modules.

Discussed with: thompsa
Obtained from: //depot/projects/mpsafetty/...


# 181939 20-Aug-2008 ed

Fix a small typo in the pstat(8) manual page.

The second LOW column of the pstat(8) command refers to the low
watermark of the output queue.


# 181905 20-Aug-2008 ed

Integrate the new MPSAFE TTY layer to the FreeBSD operating system.

The last half year I've been working on a replacement TTY layer for the
FreeBSD kernel. The new TTY layer was designed to improve the following:

- Improved driver model:

The old TTY layer has a driver model that is not abstract enough to
make it friendly to use. A good example is the output path, where the
device drivers directly access the output buffers. This means that an
in-kernel PPP implementation must always convert network buffers into
TTY buffers.

If a PPP implementation would be built on top of the new TTY layer
(still needs a hooks layer, though), it would allow the PPP
implementation to directly hand the data to the TTY driver.

- Improved hotplugging:

With the old TTY layer, it isn't entirely safe to destroy TTY's from
the system. This implementation has a two-step destructing design,
where the driver first abandons the TTY. After all threads have left
the TTY, the TTY layer calls a routine in the driver, which can be
used to free resources (unit numbers, etc).

The pts(4) driver also implements this feature, which means
posix_openpt() will now return PTY's that are created on the fly.

- Improved performance:

One of the major improvements is the per-TTY mutex, which is expected
to improve scalability when compared to the old Giant locking.
Another change is the unbuffered copying to userspace, which is both
used on TTY device nodes and PTY masters.

Upgrading should be quite straightforward. Unlike previous versions,
existing kernel configuration files do not need to be changed, except
when they reference device drivers that are listed in UPDATING.

Obtained from: //depot/projects/mpsafetty/...
Approved by: philip (ex-mentor)
Discussed: on the lists, at BSDCan, at the DevSummit
Sponsored by: Snow B.V., the Netherlands
dcons(4) fixed by: kan


# 168292 03-Apr-2007 ru

- Recognize -g and -m in pstat(8) too.
- Document -g and -m support in swapinfo(8).

Reviewed by: markm


# 168227 01-Apr-2007 markm

Add -m (megabytes) and -g (gigabytes) options. I'm tired of being told
I can't do this.

MFC: 1 month


# 143929 21-Mar-2005 keramida

- Add a -h flag to pstat to print swap sizes in "human readable"
format, with humanize_number(3).

- Move the common parts of the code that prints the sizes for a single
swap device and the total to a single function to avoid repeating
the humanize_number() stuff all over the place.

- Change the type of CONVERT() from intmax_t to int64_t, since this
makes calling humanize_number() easier but cast the values to
intmax_t before printing them, to make use of the %jd format that
printf() supports.

- Document the new -h flag in the manpage and bump its date.

Approved by: pjd
Useful tips: brooks
MFC after: 2 weeks


# 140442 18-Jan-2005 ru

Sort sections.


# 137579 11-Nov-2004 dds

Corrected the description of the -t output columns to reflect reality.

MFC after: 2 weeks


# 133249 07-Aug-2004 imp

Per letter dated July 22, 1999 remove 3rd clause of Berkeley derived software
(with permission of addtional copyright holders where appropriate)


# 131531 03-Jul-2004 ru

Eliminated double whitespace.


# 131500 02-Jul-2004 ru

Mechanically kill hard sentence breaks.


# 127449 26-Mar-2004 ru

-N without -M is pointless.


# 127447 26-Mar-2004 ru

Update information of how pstat(8) accesses the running system.


# 118278 31-Jul-2003 phk

Remove options processing for dumping swapdevice radix map.


# 101044 31-Jul-2002 des

Use struct xfile, not struct file.


# 99968 14-Jul-2002 charnier

The .Nm utility


# 97173 23-May-2002 des

Cull large amounts of dead code (deprecated since 1997)

Sponsored by: DARPA, NAI Labs


# 96247 09-May-2002 joe

Replace /kernel with /boot/kernel/kernel.

PR: docs/37757
Submitted by: Hiten Pandya <hiten@uk.FreeBSD.org>


# 95615 28-Apr-2002 iedowse

Oops, remove references to NLOCKED and NWANTED, now that they no
longer exist.


# 83653 18-Sep-2001 peter

Userland part of nfs client/server split and cleanup.


# 79537 10-Jul-2001 ru

mdoc(7) police: removed HISTORY info from the .Os call.


# 77656 03-Jun-2001 schweikh

Fix a grammar bogon and removed whitespace at EOL.
MFC after: 1 week


# 77575 01-Jun-2001 ru

Remove vestiges of MFS.


# 76393 09-May-2001 alfred

Unbreak world, IN_SHLOCK/IN_EXLOCK haven't existed in a while and
Kirk finally has ditched them. While I'm here also ditch FSHLOCK.


# 75167 04-Apr-2001 ru

mdoc(7) police: you don't need to use enclose macros for blocks of text.


# 74976 28-Mar-2001 dd

Note that the -v option is not supported. Don't remove the actual
text because the code is still in pstat.c, and may be reincarnated at
some point.

PR: 26054
Approved by: nik


# 72126 07-Feb-2001 ru

mdoc(7) police: Change -filled displays (which just happen
to be the same as -ragged in the current implementation) to
-ragged. With mdocNG, -filled displays produce the correct
output, formatted and justified to both margins.


# 71152 17-Jan-2001 ru

mdoc(7) police: compact a few lists for better output.


# 71127 16-Jan-2001 ben

Ooops, the -M and -N flags were already documented, though not very clearly.
Remove the old description in favour of the new description which lists the
-M and -N flags along with all the other flags. This is consistent with the
manual pages for ps, netstat, iostat, etc.


# 71126 16-Jan-2001 ben

document -M and -N flags.

PR: 24323
Submitted by: Jesse Monroy <opentrax@email.com>


# 70511 30-Dec-2000 assar

update to the current set of mnt_, ufs_ and nfs_ flags
also make man-page correspond to the code


# 70403 27-Dec-2000 ru

Prepare for mdoc(7)NG.


# 68965 20-Nov-2000 ru

mdoc(7) police: use the new features of the Nm macro.


# 53762 27-Nov-1999 charnier

Merge fprintf and exit into errx.
Use .Ev for environment variable.


# 50479 27-Aug-1999 peter

$Id$ -> $FreeBSD$


# 42955 21-Jan-1999 dillon

Update pstat -s to handle both old and new swapper.
Add pstat -ss to dump new swapper's radix tree.


# 32596 17-Jan-1998 bde

VVMIO -> VOBJBUF as in pstat.c.


# 30243 09-Oct-1997 charnier

Use err(3). Add usage().
Default source of tables (-M) is /dev/mem, not /dev/kmem.


# 28944 30-Aug-1997 peter

Update to include some of the newer vnode flags and remove some stale ones.


# 23687 11-Mar-1997 peter

Merge Lite2 changes


# 22997 22-Feb-1997 peter

Revert $FreeBSD$ to $Id$


# 21673 14-Jan-1997 jkh

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


# 19217 27-Oct-1996 alex

Fix a typo, putput --> output.

Submitted by: Philippe Charnier <charnier@xp11.frmug.org>


# 17797 23-Aug-1996 mpp

Use the .Bx macro where appropriate.


# 16934 03-Jul-1996 mpp

Document the -i backward compatibility option (same as -v).

Submitted by: Faried Nawaz


# 15279 17-Apr-1996 joerg

Mention swapinfo as .Nm, so it will be referenced by mkwhatis.


# 13511 20-Jan-1996 mpp

Fix a variety of minor typos and cross references in a bunch of
man pages.

Masanobu Saitoh <msaitoh@spa.is.uec.ac.jp>
Giles Lean <giles@nemeton.com.au>
<soda@sra.co.jp>


# 11285 06-Oct-1995 bde

Document SESS, fix PGRP (now PGID), and document some more STATE flags.
Submitted by: clemc@locus.com and edited by me.


# 9621 21-Jul-1995 bde

Document new tty states TS_CONNECTED, TS_SO_OLOWAT, TS_SO_OCOMPLETE,
TS_CAR_OFLOW, TS_CTS_OFLOW, TS_DSR_OFLOW and TS_ZOMBIE.

Document old tty states TS_ASLEEP and TS_TTSTOP more completely.

Document old tty states TS_ASYNC and TS_TBLOCK.

Document not so old tty states TS_CAN_BYPASS_L_RINT and TS_SNOOP.

Don't document nonexistent state TS_HUPCL.

Document the current line disciplines instead of prehistoric ones.


# 8495 13-May-1995 phk

Make pstat act like swapinfo if so invoked.


# 1856 05-Aug-1994 dg

Converted 'vmunix' to 'kernel'.


# 1554 26-May-1994 rgrimes

This commit was generated by cvs2svn to compensate for changes in r1553,
which included commits to RCS files with non-trunk default branches.


# 1553 26-May-1994 rgrimes

BSD 4.4 Lite usr.sbin Sources