diff options
Diffstat (limited to 'contrib/top/Changes')
-rw-r--r-- | contrib/top/Changes | 503 |
1 files changed, 503 insertions, 0 deletions
diff --git a/contrib/top/Changes b/contrib/top/Changes new file mode 100644 index 0000000..aa31bac --- /dev/null +++ b/contrib/top/Changes @@ -0,0 +1,503 @@ +Thu Aug 29 1996 - wnl (3.4) + Replaced modules (from Tim Pugh): next 32, next40. + Fixed bug in username.c: hashing negative uids. + +Thu Aug 22 1996 - wnl (3.4beta3) + Patched modules: ultrix4, sunos4, sunos5, utek, decosf1, irix5. + Added modules: next40, next32. + Fixed procstates update bug in display.c. + Fixed divide by zero bug in utils.c. + Fixed bad number in layout.h + Minor fixes to Configure. + Complete overhaul of FAQ. + +Tue Feb 13 1996 - wnl (3.4beta3) + Added convex module from Warren Vosper (originally written by + William Jones). + +Tue Feb 13 1996 - wnl (3.4beta2) + Fixed format_k in utils.c to calculate K and M values correctly. + Added check for gigabyte values ('G'). Changed sumamry_format + in display.c to use format_k where appropriate. + Changed creation of distribution tar file to place everything in + a top level directory. + +Tue Jan 30 1996 - wnl (3.4beta2) + Added m_aix41 module. Added new tag type to module comments: + TERMCAP, which defined the library to use for a termcap library. + If no TERMCAP tag is found in the module's initial comment, then + Configure will default to "-ltermcap". AIX needs this since it + put all the termcap routines in libcurses(!) + + Added m_bsdos2 (found lingering in my mailbox). + Updated m_svr4 to include support for NCR multiprocessors. + Fixed small bug in utils.c + +Thu Jan 25 1996 - wnl (3.4beta1) + Fixed m_sunos5 invocation of gettimeofday to include "NULL" as + second argument. This provides compatability with the Posix- + compliant template provided with SunOS 5.5, but doesn't hurt + previous versions since they do bother with a template for that + function. + + Made changes (recommended by net users) to hpux10, ultrix4, + netbsd10, aux3 (replaced aux31). Added module for linux. + +Fri Oct 10 1995 - wnl (3.4beta1) + Added user-contributed modules for SCO Unix, IRIX 5, HP/UX 10, + Pyramid DC/OSX. Changed Configure so that it runs in environments + whose c-shells have no 'eval'(!). Added support for multiple sort + ordering methods via the -o switch. This option requires support + from the machine dependent module: such support was added to + sunos5 (thus sunos54) and sunos4. + + display.c: Changed CPU states display line to shorten the leading + tag if the data won't fit in the current width. Fixed a divide-by- + zero bug that affected ultrasparc servers (and potentially other + systems). + + m_sunos5.c: Now asks the system for the correct pagesize rather than + assuming it is 4K. + +Thu Mar 2 1995 - wnl (3.3 RELEASE) + Added module netbsd10 and renamed netbsd to netbsd08. Changed + Configure so that it does not use an initial default module name. + Made other compatability fixes to Configure. Added comments to + decosf1 concerning optimizer bug. Other documentation changes. + Added use of "prime.c" to Configure script. + +Tue Feb 7 1995 - wnl (3.3beta6) + Still one more beta.... + Fixes for sunos5 2.4 gcc core dump (it was an alignment problem). + Fixed and improvements for decosf1 (including use of format_k + for proper SIZE column formatting). Added modules freebsd20 and + ncr3000. + +Thu Feb 2 1995 - wnl (3.3beta5) + One more beta.... + Fixed a few bugs in the sunos5 port pertaining to casting and + very large memory counts. Added "ifndef HAVE_GETOPT" to getopt.c + to provide for conditional compilation of the getopt function. + Those systems that have getopt in libc can add -DHAVE_GETOPT to + the CFLAGS line in the module to prevent the function from being + compiled. Added sunos54 module to accomodate SunOS 5.4 + peculiarities. Added module for aux3.1. + +Wed Jan 4 1995 - wnl (3.3beta4) + This is really taking too long......sigh. + Fixed SIGWINCH handling once and for all. It now remembers the + number of processes you want displayed even thru window resizes. + Fixed buffer conflict in utils.c (itoa and itoa7). + Lots of small improvements to the various modules were made over + the past month: too numberous to list here. SunOS 5 module made + more secure thru use of seteuid calls (other SVR4 modules should + be modified similarly). One final MP fix to sunos5, too. Module + for decosf1 was modified to accomodate V3.0. + +Mon Apr 18 1994 - wnl (3.3beta3) + I think I finally got a sunos5 module that will work on MP + machines. Fixed cpu states figure in osmp41a so that + percentages never exceed 100%. Added shell script "install" + since Unix vendors can't seem to make up their minds on what + options they want to use for the one that comes with the OS. + Added netbsd modules from Christos. Fixed lots of other little + things over the past few months that I have long since forgotten. + +Wed Dec 15 1993 - wnl (3.3beta2) + Added module patches from various users: hpux9, sunos5. + Fixed bug with batch mode (screen_width wasn't getting set). + Changes to accomodate 64 bit machines. + Fixed some bugs in command parsing ("renice 19 " did something + unexpected). + +Mon Aug 30 1993 - wnl (3.3beta) + Added lots of little patches from various users. + Added routines to utils.c for intelligent formatting of kilobytes + and time. These are intended to be used in the modules when + formatting a process line. Added code to "summary_format" in + display.c to do intelligent formatting of memory quantities. + Redid display.c to allow for varying line widths and dynamic + reallocation of the screen buffer. + Added a SIGWINCH handler to top.c! + Added a constant, MAX_COLS, to top.h which defines the absolute + widest line we will ever allow. Changed allocations of "char fmt" + in all machine modules to use this constant rather than an abitrary + number. + +Fri Aug 13 1993 - wnl (3.3) + Changed return value definition of time-related functions in top.c, + display.c, and m_ultrix4.c to time_t (stuart@coral.cs.jcu.edu.au). + Fixed bug in display.c: line_update when start != 0. + +Wed Aug 4 1993 - wnl (3.2 release) + Changes to Configure from Paul Vixie. Added modules for hpux9 and + bsd386. + +Tue Jul 13 1993 - wnl (3.1 release) + More small changes and minor bug fixes. Brought bsd44 up to date + and added a module for svr4.2. Changed shar packaging to use Rich + Salz's cshar stuff. + +Wed Jul 7 1993 - wnl (3.1BETA) + More changes and bug fixes to Configure. Applied some other + minor bug fixes and suggestions from the beta testers. Added + the "metatop" shell script and the "installmeta" rule to the + Makefile to make handling multiple machine models and OS versions + easier. Added INSTALL and FAQ files. + +Tue May 18 1993 - wnl (3.1BETA) + Changed Configure to be compatible with most SVR4 environments + (differing output from "ls -lg"). Also changed Configure, + Makefile.X, etc., to look for module files in the subdirectory + "machine" (thanks to Christos Zoulas). + +Tue Apr 20 1993 - wnl (3.1BETA) + Changed both occurences of "ls -1" in Configure to "ls". This + SHOULD produce the same result, and has the advantage that it + doesn't produce an error on a system 5 machine. Integrated other + changes recommended in the first round of beta testing. + +Wed Mar 10 1993 - wnl (3.1BETA) + MAJOR CHANGE: I have added a required function to all machine + dependent modules, called proc_owner. It takes a pid as an argument + and returns the uid of the process's owner. Such capability is + necessary for top to run securely as a set-uid program, something + that is needed for SVR4 implementations to read /proc. I have + retrofitted all modules except dgux with this function, but was + not able to test most of them. Top should now run securely as + a setuid program. Added 386bsd and sunos5 modules. Added sunos4mp + module for MP Suns. + +Sat Feb 20 1993 - wnl (3.1ALPHA) + Modified top.c and commands.c to compile correctly on System V + derived Unixes (especially SVR4), but in a way that doesn't rely + on an oracle-like declaration (that is, I don't use "ifdef SYSV"). + Fixed some bugs in "Configure" and "getans". Added inspection of + env variable "TOP" for options, and made -I default to showing + idle processes. Added "u" command to change username restriction + on the fly. Created shell script "suntop" for poor multi-version + SunOS folks (like myself). + +Wed Jun 3 1992 - wnl (3.0) + "max_topn" wasn't being used everywhere it was supposed to be + in top.c. Many cosmetic changes, including copyright notices in + all the .c files. Version number is now handled by version.c and + reflects the current patchlevel (which is initially set to 0). + Changed Configure and Makefile to allow configurable variables for + certain commands: shell, cc, awk, install. Updated README and + Porting. Ready to release to the world! + +Mon May 18 1992 - wnl (2.9BETA) + Added modules provided by Christos Zoulas. Replaced screen.c + with one modified by Christos and that will appropriately select + and handle the sgtty, termio, or termios system. Integrated many + other changes recommended by Christos. Fixed (I hope) the "-b" + batch mode display bug. Had to change loadavg to load_avg to avoid + a conflict with 4.4BSD. + +Mon Apr 27 1992 - wnl (2.8BETA) + Added modules provided by Daniel Trinkle. Added patchlevel.h, + but the patch level is not yet reflected in the version number. + Cleaned up m_sunos4.c a little. + +Wed Apr 22 1992 - wnl (2.8BETA) + Major internal reorganization. All of the system dependent stuff + is now really and truly separated from everything else. The + system dependent functions are contained in a separate .c file + called a "module". The Configure script knows how to find and + set up these modules, but the human installer still needs to tell + Configure which module to use (no automagic determination of + machine type---sorry). Added -U option to specify one user's + processes, but there is no corresponding command...yet. Other + changes and improvements too numerous to mention here. Currently + there are only two modules: sunos4 and umax. But after this beta + release is sent around, I expect more to be written. I just hope + that the machine-dependent abstractions don't need to change in + the process. + +Thu Mar 26 1992 - wnl (2.7BETA) + Beta release with minimal architecture support. Updated README + and added a first cut at a Porting guide. Added ioctl TIOCGWINSZ + code from top2.5+ (courtesy of David MacKenzie). I didn't even + try porting the Ultrix support since I don't have access to an + Ultrix machine. + +Fri Oct 11 1991 - wnl (2.6) + This version was not widely released. It contained many changes. + Here are the major ones: + + Put in Vixie's idle process hack. + + Enhanced type field in new_message to handle delayed messages. + + Changed u_process to automatically adjust for varying lines of + output. Management of screenbuf should now be completely contained + in display.c. Removed now extraneous code from CMD_number[12] + portion of command switch in top.c. This was the stuff that dealt + with zeroing out lines in screenbuf. + + Finally made it all work correctly on a 386i. Problems I had to + overcome: kvm_nlist doesn't return 0 on success as advertised (it + returns 1 instead); the results of a kvm_nlist are different + (n_type can be zero even for a symbol that exists). + + Serious rearrangement for processor dependent stuff. All nlists + are now in separate files with the suffix ".nlist". Most machine + specific code is in "machine.c" surrounded by appropriate ifdefs--- + the goal is to eventually have all machine specific code in this + file. Managed to find a way to detect SunOS 4.x at compile-time: + this is contained in the include file "sun.h". Completely changed + the memory display line for SunOS 4.x---it now displays a far + more appropriate report. + + Created the shell script "Configure" to aid in the configuration + step. + + Fixed a bug in init_termcap: it will now tolerate an environment + which does not have TERM defined (thanks to Sam Horrocks for + pointing this out). + +Tue Aug 9 1988 - wnl (2.5) + Added changes to make top work under version 4.0 of the Sun + operating system. Changes were provided by Scott Alexander of the + University of Pennsylvania. Thanks! Compile with "-Dsunos4" to + get them. Virtual memory statistics are not readily accessible + under 4.0, so they don't show up in the output. + +Thu Jul 31 1987 - wnl (2.4) + Fixed a problem with the 4.0 Pyramid code. The label "cp_time" + doesn't exist in the 4.0 kernel anymore. I think the code Carl + sent me wants "percpu" instead. That is what I am using and it + appears to work. 375 code is still untested (at least by me). + Also picked a great deal of lint out of the source. Lint now only + complains about a very few nitpicky things (there are far too many + calls to "printf" to put a "(void)" in front of!), at least under + SunOS. + +Tue Jul 28 1987 - wnl (2.4a) + Added changes for a Symmetrics Computer Systems s/375 machine. + Changes were provided by Paul Vixie. Thanks! According to Mr. + Vixie: "These changes were not made at, by, or for SCS proper. + SCS would probably be interested in them, but so far only the + users' group has them. They were made in February, 1987, to + version 2.1 of the program, by Paul Vixie + (dual!ptsfa!vixie!paul@ucbvax.Berkeley.EDU)." His changes were + integrated into version 2.3 to make version 2.4. + + The SCS peculiarities are summarized in Changes.scs. + +Tue Jun 9 1987 - wnl (2.3 for real) + Changed the includes for the extra code Carl sent me to only + compile on Version 4.0 Pyramid machines. This makes top still + compilable on pre-4.0 Pyramids. Specifically, this code is only + compiled when both "pyr" and "CPUFOUND" are defined. + +Wed Jun 3 1987 - wnl (2.3 with Pyramid additions) + It's been a month and I still haven't done anything about + distributing this version. However, Carl Gutekunst from Pyramid + has sent me some extra patches for some of the Pyramid code. I + just added those and will make them part of 2.3. This fixes the + following Pyramid problems: adds the inclusion of <sys/systm.h>, + uses the correct size for getting the kernel value _ccpu (this bug + affected the Vax version as well), sums the elements of the percpu + array to calculate a cp_time value (for OSx 4.0). + +Fri May 1 1987 - wnl (2.3) + I have finally finished all the changes for better support of + oddbal terminals. Added the low-level routine "clear_eol" which + makes handling terminals without "ce" easy: it uses spaces + instead. All direct uses of "clear_line" outside of screen.c have + been changed to use this primitive. A terminal with "os" is now + handled in such that all situations that need overwriting are + completely avoided (including several commands). This required + some changes to the way commands are translated into action (in + "top.c"). Made several important changes to display.c to prevent + overflowing of any of the fields. Specifically, more than 99 + total processes and a cpu state that reaches 100%. Had to make a + small change to two casts in top.c, because the Sun 3.2 compiler + was giving warnings on them. Added the "-q" option which lets + root run top at a nice of -20 (in case he thinks he really needs it). + +Tue Dec 30 1986 - wnl (2.2) + I think I fixed a bug reported by Julian Onions at Nottingham. + Occasionally, top will core dump when the sprintf in either + i_process or u_process overflows due to an exceptionally + unrealistic time value. I think it highly unlikely that top can + get a bad proc structure (although I suppose it is possible), but + the process time is read from the user structure, and that can + sometimes be part garbage. So, "get_ucpu" checks the value it + returns to make sure its formatted form will not overflow the + sprintf. If this doesn't fix the bug, then more drastic measures + will be necessary. I plan to make this version the official + "top 2.2". [[ This version was never distributed very widely. ]] + +Tue Dec 2 1986 - wnl (2.2c) + Added to top.c the notion of a "failed command". When a command + produces a message (on the message line), an update does not + follow it. Before, the message was written and a new display was + shown---purposefully not overwriting the message. But the + improvements to handle overstriking terminals and terminals + without "ce" clear the screen before every display, which would + erase the message. Now, the message is displayed and top waits + another full time interval before updating the display. This + works much better all around. + +Mon Nov 24 1986 - wnl (2.2b) + Created a new file, utils.c, and made appropriate changes to + Makefile. This new file holds all utility functions that can and + may be used by more than one "module". Improved i_memory and + u_memory (display.c) so that screen updates for the values + displayed are only changed when necessary. Also made the line + look better: the last fixes made for a rather ugly display. + Added the locally defined constant "LoadMax" and added code to + top.c to send the cursor home after a space command is entered if + the load average is higher than "LoadMax". This provides visual + feedback on loaded systems. + +Mon Nov 3 1986 - wnl (2.2a) + Widened the format for memory usage so that it can display 5 + digits. This makes that line look a little ugly---maybe I'll fix + that later. Screen handling now understands "os" and a missing + "ce". It treats them identically: clear the screen between each + display. Screen handling code now uses "cd" when appropriate + (i.e.: when user has shortened the screen). Made i_loadave clear + then screen and took out most of the explicit calls to "clear" in + top.c. This method is cleaner, especially in conjunction with + "os" handling. Added preprocessor variable "RANDOM_PW" for + systems that access the passwd file randomly (Sun's yp and 4.3). + With "RANDOM_PW" set, "getpwuid" is used instead of "getpwnam", + but uid->username mappings are still hashed internally (because + that is still faster than going to disk). + +Mon Oct 6 1986 - wnl (2.1) + A bug with the kill command was pointed out by "dciem!tim"--- + specifying a signal by name did not work correctly. This bug has + been fixed with a simple change to commands.c. Another bug made + the cpu state percentages incorrect the first time they were + displayed. This bug has also been fixed (changed top.c). + +Thu Sep 4 1986 - wnl (2.0, at last) + This is the version that will (hopefully) get released to the + world as top 2.0. + Added the "r" and "k" commands for renice and kill, respectively. + This required adding a way to handle system call errors, and the + addition of the "e" command. Help screen and manual page were + changed to reflect this change. Changed all "#ifdef SUN" directives + to "#ifdef sun", and changed all "#ifdef PYRAMID" directives to + "#ifdef pyr". As much as I hate those choices of preprocessor + names (they too easily conflict with real variable names), it does + make automatic compilation possible---people don't have to change + the Makefile anymore for specific machines. The manual page was + changed to automatically incorporate the defaults as set in the + Makefile (including an infinite value for TOPN) and the way the + manual page is generated by the Makefile was changed to make + maintenance of this information automatic. + +Mon Jul 28 1986 - wnl (still pre 2.0) + Real close now. I put in a new definition for the macro "pagetok" + that does an explicit shift of a constant expression involving + PGSHIFT. Appropriate checks are made if PGSHIFT is to small. + "pagetok" is now used exclusively everywhere to convert kernel + clicks to kilobytes. I added a full blown interactive mode with + the ability to change some of the runtime parameters (how many to + display, time delay, etc.) while top is running. I also + incorporated a few ideas from the net: control characters in the + command name are replaced with '?'; the '-S' option makes the + swapper and pager visible; options have been added to control the + number of displays produced (this makes it easier to make + performance snapshots with top). I have also added the notion of + "infinite" values for number of processes and number of displays. + I fixed a long-standing bug in the uid to username mapping code + that was only aggravated on the pyramids: it was an ill-defined + expression (akin to i = i++). I tweaked the proc_compar routine + for qsort slightly so that stopped processes were more likely to + show up. Manual page was updated to reflect all changes + noticeable to the user. + +Tue Jul 1 1986 - wnl (pre 2.0 -- 1.9999?) + In the process of major revamping on the way to version 2.0. + I have completely done away with curses by adding my own screen + management routines in a separate file (screen.c). The rationale + for this is that top knows a whole lot more about what is and is + not redundant on the screen and can compare simple integer values + where curses would have to compare strings. This has turned out + to be a very big win speed-wise. The proc_compar routine for + sorting has been rewritten to include several more keys. I + decided this was necessary when I noticed that the "top" process + itself kept disappearing off the top 10 list on a Sun-3. All the + processes had the same percentage (0%) and the sort wasn't really + doing anything worthwhile. I changed the expression that computes + memory usage to use the ctob macro instead of just assuming that + pages were 512 bytes. More work still needs to be done before + this version is usable. I changed options-processing to use + getopt and added appropriate incantations to the Makefile. + +Wed Feb 20 1985 - wnl (still 1.8) + Put in the ifdef FOUR_ONE statements to make top still compilable + on a 4.1 system. Apparently, there are some users out there that + need this functionality. Oh well. I don't guarantee any of it, + since I can't test it. Made appropriate changes to README and + final installation related changes to Makefile. + +Sat Feb 2 1985 - wnl (1.8) + Removed all the ifdef FOUR_TWO statements and made "top" into a + 4.2 only program. If someone really wants to still run it on 4.1, + then they can do all the work. We don't have a 4.1 machine + anymore, so I don't even know if the thing still works under 4.1. + Cleaned up the Makefile and the README. Added installation rules + to the Makefile, as requested by several sites. Fixed a very + obscure divide-by-zero bug. Added a second "key" to the qsort + comparison function (proc_compar) so that comparisons are based on + cpu ticks if the percentages are equal (provided by Jonathon + Feiber at Sun). + +Tue Dec 11 1984 - wnl (1.7) + Added the virtual and real memory status line to the header area + (provided by Jonathon Feiber at Sun) + +Tue Nov 20 1984 - wnl (1.6) + Added an "exit" if sbrk's fail. Added changes from Jonathon + Feiber at Sun: ifdef SUN to make top work on Suns (they don't use + doubles in the proc structure), register declarations, check for + getting a user structure that has disappeared since the proc array + was read (it used to die, now it just shows the process as swapped). + +Tue Nov 13 1984 - wnl (1.5) + If the number of displayable processes ("active_procs") was less + than the number of requested processes ("topn"), top would + segmentation fault. This bug has been fixed. Thanks to Prentiss + Riddle at ut-sally for pointing out the existence of this bug. + +Tue Oct 23 1984 - wnl (1.4) + Finally fixed the hash table bug that caused processes owned by + root to sometimes appear with either no name or a different name + that had UID 0 (such as "operator"). Removed all the ifdef DEBUG + blocks to make top ready for distribution to the real world. + +Sun Apr 8 1984 - wnl (still 1.3) + Made some slight changes to the display format. It now looks more + aesthetically pleasing. Added some preprocessor constants so that + the two defaults (number of processes and seconds of delay) easier + to change. + +Thu Apr 5 1984 - wnl (1.3) + Changed the order in which things are done at initialization time. + This way, if an error occurs before starting the main loop, curses + will never get started. Also changed other error handlers so that + endwin() is called before any flavor of exit. Specifying a number + of processes that is more than the screen can handle is no longer + fatal. It displays a warning message and pretends the user + specified the maximum for the screen. Finally cured all the TSTP + blues (well, almost all). I removed my TSTP handler and convinced + the system to always use the one that curses sets up. Turns out + that "sleep" was stepping all over it during a pause. So, I don't + use sleep anymore. The only problem that remains with it now is + redrawing the old display before updating it after a pause. + +Tue Apr 3 1984 - wnl (from 1.0 to 1.2) + I changed the format of the TIME column from just "seconds" to + "minutes:seconds". I also made pausing work correctly. Screen + redraws with an up to date display. For compatibility with 4.2, I + changed the name of the "zero" function to "bzero". The makefile + has been altered to handle versions for 4.1 and 4.2, and README + has been updated to reflect these recent changes. |