56 Commits

Author SHA1 Message Date
imp
7e6cabd06e Renumber copyright clause 4
Renumber cluase 4 to 3, per what everybody else did when BSD granted
them permission to remove clause 3. My insistance on keeping the same
numbering for legal reasons is too pedantic, so give up on that point.

Submitted by:	Jan Schaumann <jschauma@stevens.edu>
Pull Request:	https://github.com/freebsd/freebsd/pull/96
2017-02-28 23:42:47 +00:00
jilles
ec5e67f29f pstat(8): Correct description of the SESS column in pstat -t.
MFC after:	1 week
2014-10-11 21:53:06 +00:00
ed
5f2edd80fc 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
2009-02-11 16:28:49 +00:00
ed
e085cfc485 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
2009-02-05 14:21:09 +00:00
ed
1475e942ed 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/...
2008-09-22 19:25:14 +00:00
ed
7c91915f63 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.
2008-08-20 22:09:33 +00:00
ed
cc3116a938 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
2008-08-20 08:31:58 +00:00
ru
4d9aa21f99 - Recognize -g and -m in pstat(8) too.
- Document -g and -m support in swapinfo(8).

Reviewed by:	markm
2007-04-03 08:16:06 +00:00
markm
86444ce085 Add -m (megabytes) and -g (gigabytes) options. I'm tired of being told
I can't do this.

MFC: 1 month
2007-04-01 20:28:37 +00:00
keramida
87827d7ae6 - 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
2005-03-21 16:36:05 +00:00
ru
c05985f13f Sort sections. 2005-01-18 20:02:45 +00:00
dds
7dc3219d5e Corrected the description of the -t output columns to reflect reality.
MFC after:	2 weeks
2004-11-11 17:30:04 +00:00
imp
9fbed704d5 Per letter dated July 22, 1999 remove 3rd clause of Berkeley derived software
(with permission of addtional copyright holders where appropriate)
2004-08-07 04:28:56 +00:00
ru
ac606e7e88 Eliminated double whitespace. 2004-07-03 18:35:53 +00:00
ru
6294018a20 Mechanically kill hard sentence breaks. 2004-07-02 23:13:00 +00:00
ru
f4968f78df -N without -M is pointless. 2004-03-26 09:28:03 +00:00
ru
fb7b3f0382 Update information of how pstat(8) accesses the running system. 2004-03-26 09:04:48 +00:00
phk
7059dc3883 Remove options processing for dumping swapdevice radix map. 2003-07-31 21:20:08 +00:00
des
81f45956da Use struct xfile, not struct file. 2002-07-31 12:43:17 +00:00
charnier
d2168fe021 The .Nm utility 2002-07-14 14:47:15 +00:00
des
4cbec75e55 Cull large amounts of dead code (deprecated since 1997)
Sponsored by:	DARPA, NAI Labs
2002-05-23 14:53:04 +00:00
joe
36c976074e Replace /kernel with /boot/kernel/kernel.
PR:		docs/37757
Submitted by:	Hiten Pandya <hiten@uk.FreeBSD.org>
2002-05-09 11:47:42 +00:00
iedowse
3bdd57c657 Oops, remove references to NLOCKED and NWANTED, now that they no
longer exist.
2002-04-28 10:24:38 +00:00
peter
68a5e33921 Userland part of nfs client/server split and cleanup. 2001-09-18 23:34:44 +00:00
ru
0d5f9334cf mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 15:12:08 +00:00
schweikh
770507fd58 Fix a grammar bogon and removed whitespace at EOL.
MFC after:	1 week
2001-06-03 16:08:25 +00:00
ru
e7a85be33f Remove vestiges of MFS. 2001-06-01 10:07:28 +00:00
alfred
5a64b2bb6b 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.
2001-05-09 03:38:02 +00:00
ru
a875f67c07 mdoc(7) police: you don't need to use enclose macros for blocks of text. 2001-04-04 11:25:07 +00:00
dd
617435415d 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
2001-03-29 01:46:20 +00:00
ru
5addfd60d6 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.
2001-02-07 13:45:30 +00:00
ru
0138595d39 mdoc(7) police: compact a few lists for better output. 2001-01-17 09:07:31 +00:00
ben
947e3ec23b 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.
2001-01-16 22:09:33 +00:00
ben
13a7451229 document -M and -N flags.
PR:		24323
Submitted by:	Jesse Monroy <opentrax@email.com>
2001-01-16 22:05:28 +00:00
assar
6b77259e11 update to the current set of mnt_, ufs_ and nfs_ flags
also make man-page correspond to the code
2000-12-30 15:41:40 +00:00
ru
4bb5f49662 Prepare for mdoc(7)NG. 2000-12-27 15:30:30 +00:00
ru
71e2293ad4 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 20:10:44 +00:00
charnier
f0ff569fe4 Merge fprintf and exit into errx.
Use .Ev for environment variable.
1999-11-27 17:03:07 +00:00
peter
efabb9ccb1 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
dillon
b494d8d4c2 Update pstat -s to handle both old and new swapper.
Add pstat -ss to dump new swapper's radix tree.
1999-01-21 08:08:55 +00:00
bde
965464cfca VVMIO -> VOBJBUF as in pstat.c. 1998-01-17 16:58:55 +00:00
charnier
1c136192c4 Use err(3). Add usage().
Default source of tables (-M) is /dev/mem, not /dev/kmem.
1997-10-09 07:22:08 +00:00
peter
699c94cfae Update to include some of the newer vnode flags and remove some stale ones. 1997-08-30 20:18:49 +00:00
peter
b1890e6c7c Merge Lite2 changes 1997-03-11 13:00:41 +00:00
peter
b782f4df30 Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +00:00
jkh
808a36ef65 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.
1997-01-14 07:20:47 +00:00
alex
63862d7113 Fix a typo, putput --> output.
Submitted by:	Philippe Charnier <charnier@xp11.frmug.org>
1996-10-27 23:12:48 +00:00
mpp
bef6fb830a Use the .Bx macro where appropriate. 1996-08-23 20:36:11 +00:00
mpp
6551a41fd1 Document the -i backward compatibility option (same as -v).
Submitted by:	Faried Nawaz
1996-07-03 02:11:39 +00:00
joerg
0b01ed2e48 Mention swapinfo as .Nm, so it will be referenced by mkwhatis. 1996-04-17 20:50:44 +00:00