This is version 0.9 of procinfo for Linux, dated 1996-04-28.

Procinfo is a small program that gathers some system information from
diverse files under /proc and prints it to the screen. It duplicates
some of the functionality of free(1) and uptime(1). It should work
with any kernel release close to 1.0 or later.

This will likely be the last version that works with almost any old
Linux version. Keeping everything working for every kernel version
makes the code messier than it is already, and since I'll have to
rewrite the lot anyway to accomodate a third screen for the new
/proc/sys/*/* files I might as well make a clean break of it.


* New in this version: 
======================

  + Fixed a problem with memory info not getting updated.

  + Fixed a problem with include files for recent versions of libc.

  + Added lsdev, a proglet that combines IRQ, DMA and I/O port
    information into one list. (There wasn't room left on the screen
    for I/O ports in procinfo itself, hence this perl script.) Note
    that this doesn't always work because some drivers use different
    labels in different files for the same hardware.

  + The header line should now always fit on one screen line -- run
    procinfo in an xterm, resize its width a few time and see the
    magic! :-) It defaults to 80 characters if stdout isn't a
    terminal.


* New in version 0.8:
=====================

  + If your kernel has /proc/cmdline, its contents are printed with
    `-a' or `-m'.

  + Support for the cached field in /proc/meminfo.

* New in version 0.7:
=====================

  + Thanks to Marcel J.E. Mol <marcel@duteca.et.tudelft.nl> we now
    have the following:

      - Disk info is now split in read and write io's, if you run Linux
        1.3.43 or later or if you apply pre-1.3.43-disk_io_blk.patch to
	the kernel.

      - The update interval is now more accurate (wow, one of the TODO
	entries is gone:-).

      - Fixed usage message (-F).

    I added another switch -b to procinfo. Assuming you have applied
    the patch mentioned above, the disk read and write figures are for
    blocks transferred with -b, or for number of requests without it.
    I'd have done it the other way 'round, were it not for backwards
    combatability.

  + Both utilities now accept a decimal fraction with the -n option.

* New in version 0.6:
=====================

  + If your kernel is 1.1.48 or later, the IRQ display tells you
    which DMA channels are used by what.

  + Explanation of page in/out in the manual page corrected. Thanks
    to Henry Ware <hware@bronze.coil.com>.

  + Support added for terminals with magic cookies (yes I know it's
    1994). See the COOKIE_NOSOSE define in procinfo.c if you're
    suffering from this.

  + New option -F followed by a file or device name causes all output
    to go to that file or device. Useful if you want to nohup procinfo
    with the output going to a tty. Based on a patch by Steven Lembark.


* New in version 0.5:
=====================

  + The hostname is displayed in the top right corner (as suggested
    by Danny ter Haar). I cut off half of the /proc/version line as
    it was getting far too long in recent kernel versions to fit on
    one line.

  + Times larger than 24 hours are now displayed as `days hh:mm:ss.ss'
    Patch from The Big Cheese <root@delphi.glendon.yorku.ca>.

  + New option `-D' to show totals on memory usage and differences
    on the rest. Patch from Steven Lembark <lembark@wrkhors.la.ca.us>.

  + If your kernel is 1.1.43 or later, you also get the names of who
    is using the irq channels appearing and disappearing as drivers
    grab and release irq's.


* New in version 0.4:
=====================

  + The CPU times display was rather buggy. This has been fixed and
    improved to display 100th of seconds. Thanks to Rob Janssen for
    the patches.

  + The various #define's have gone. procinfo now displays whatever
    info is available. Note that info from /proc/net is still
    missing, since I don't have the network code compiled into my
    kernel.

  + Thanks again to Rob Janssen, procinfo should now run correctly
    with older versions of the shared libraries.

  + Modules which are deleted or uninitialized and file systems
    which require no device are now marked as such.


* New in version 0.3:
=====================

  + Interrupts look better. Idea from Danny ter Haar
    <danny@cistron.nl.mugnet.org>.

  + A new option `-d' gives you the differences for memory,
    pagein/out, swapin/out, disks, context and interrupts since last
    update. Suggested by Rob Janssen <pe1chl@rabo.nl>.

  + Since the advent of /proc/devices in Linux 1.1.3 and of the
    modularized SLS 1.0.5 kernel means that not everything will fit on
    one 80x25 screen anymore, I have introduced a new option `-m' that
    will replace the default screen with one showing all modules (and
    devices and filesystems if your kernel is new enough). The modules
    list has disappeared from the default display. `-a' gives you
    everything.

  + Added percentages for CPU usage. Note that these are accumulated
    percentages, as opposed to those given by top(1).

  + To accommodate both those who use 1.0.x kernels and those who use
    1.1.x kernels, I have re-arranged the #defines a bit. See below.


* New in version 0.2:
=====================

  + The kernel patch broke rpc.rstatd. Fixed. Please make sure you
    don't use an old version of procinfo with the new kernel patch or
    vice versa.

  + Wildly expanded manual page.

  + A few cosmetic changes.


* Semi-obsolete interrupt patch.
================================

As is, the `intr' line in /proc/stat under Linux 1.0 prints the
accumulated number of interrupts that have happened since boot-up for
all 16 irq channels lumped together. You can change this to display
the number of interrupts for each individual irq by applying the patch
in `kernel.patch' to the kernel sources (if necessary) and then
compiling procinfo with -DHAVE_IRQ_ARRAY.

If your kernel is at version 1.0.4 or older, just say

cd /usr/src/linux		(or whichever dir contains the kernel sources)
patch < kernel.patch

If you have version 1.0.5, then the patch is already part of the
standard kernel, except that there is a small bug in
linux/fs/proc/array.c at line 101 where it reads

		"%u",

but should read

		"intr %u",

Change this by hand and recompile and you should be all set.

As said above, the patch that came with procinfo 0.1 broke the
rpc.rstatd daemon which reads the first number form the `intr' line
and assumes that that line contains the total number of interrupts.
In this version of procinfo, the patch merely adds the sixteen extra
numbers *after* the original total number (rather than replacing the
total number *with* the sixteen extra numbers), thus retaining
compatibility with rpc.rstatd.


Thanks to everyone who send bug reports/fixes, commentary, etc.


Have fun,

Sander van Malssen
svm@kozmix.ow.nl
