Additional changes for 2.5
[unix-history] / sys / doc / Changes
CommitLineData
d30b4617
GW
1Hello, Emacs, this is an -*- Indented-Text -*- file!
2
b871d53a 3$Id: Changes,v 1.4 1994/04/14 18:02:13 wollman Exp $
d30b4617
GW
4
5This file is intended to keep track of important kernel and user
6changes in FreeBSD between releases. Entries are in reverse
7chronological order; userids can be decoded with the chart at the end
8of this file.
9
b871d53a 10---------------
d30b4617 11Since 1.1 BETA:
b871d53a
GW
12---------------
13
14- I/O clustering is implemented for all block devices. This should
15 substantially improve the performance of disk drives which don't
16 have write-behind caches, especially on IDE drives. (dyson/davidg)
17
85e4456f
GW
18- Allow mbufs to point to other ``external'' objects than just
19 clusters, and add in performance enhancements for NFS from Yuval
20 Yarom. (davidg)
21
22- Yet more VM system improvements. (dyson/davidg)
b871d53a
GW
23 o 4-MB systems should now spend substantially less time in the VM
24 system.
85e4456f
GW
25 o General cleanup and some portability fixes.
26 o A new system process is now responsible for keeping page
27 statistics, rather than making the pagedaemon do it, which was
28 getting impractical. Performance is improved on small-memory
29 machines.
30 o Process resource usage counters are now properly updated for
31 faults and swaps.
32
49feef81
GW
33- Fixed bugs in truncating mapped files. (dyson/davidg)
34
68848e29
GW
35- A new version of the interrupt-handler glue code has been added, which
36 is faster and architecturally cleaner than the previous version. The
37 beginnings of better profiling support have also been added. (bde/davidg)
38
d30b4617
GW
39- This file moved from /sys/i386/doc to /sys/doc. (wollman)
40
41- Bounce buffers have been implemented for ISA devices which use
42 DMA (although not all devices can make use of it yet). (davidg/dyson)
43
44- The set*id() functions have been changed (wollman):
45 o A significant security hole involving the POSIX saved uid and gid
46 has been plugged.
47 o The setreuid() and setregid() functions now never change the real
48 ID, but rather only ensure that you will be able to change the
49 EFFECTIVE ID back to what you specified as a real ID. This change
50 breaks the setruid() and setrgid() functions, which were a bad
51 idea in a POSIX environment anyway. Logic taken from 4.4BSD.
52 o The SUGID process flag bit has been implemented as in 4.4, and the
53 `ps' program modified to print it out.
54
55- The scheduling algorithm has been changed to penalize
56 processes that fork a lot, like `make', which should enhance
57 interactive performance during such operations significantly.
58 (davidg/dyson)
59
60- MCLBYTES is now 4096, so each mbuf cluster is given a whole page, in
61 preparation for page flipping. (davidg/dyson)
62
63- More VM system improvements (dyson/davidg):
64 o Pre-faulting of initial pages on process startup and mmap (faster
65 than starting and immediately taking a fault).
66 o Even more efficient physical map (pmap) code.
67 o Pageouts are now clustered, similar to pagein clustering in 1.1.
68 o The pageout code is more efficient and keeps better statistics.
69 o The procfs can now provide more information from the VM system.
70 o Some pager bugs have been fixed.
71
72- Improved IP checksum and bzero routines. (bde/dyson)
73
74- The Mitsumi CD-ROM driver is more careful about recognizing Ethernet
75 cards as CD-ROMs. (jkh)
76
77- `struct tty's now allocated dynamically, and ring buffers can be
78 deallocated. (guido)
79
b871d53a
GW
80
81---------------------------
d30b4617 82Between 1.1 BETA and 1.0.2:
b871d53a
GW
83---------------------------
84
85- QIC-40 and QIC-80 tapes are now supported, using the `ft' driver
86 from Jim Babb. (alm/nate)
87
d30b4617
GW
88- Improved lpt driver, should no longer lock up when lprm is done on
89 an active job. Fixed up the probe routine so that it works on most
90 if not all printers now. (csgr/rgrimes)
91
92- Substantial changes to system configuration; you MUST re-build
93 `config' before attempting to build a 1.1 kernel. (nate/martin)
94
95- Improved the quality of the information given to the user when
96 a fatal trap occurs. (davidg)
97
98- Added support in the if_ed driver for the WD8013W, WD8003W, and
99 WD8003EB. (davidg)
100
101- Change to generic console code to eliminate console hangs with all
102 `pc' consoles. (davidg)
103
104- Upgrade to new version of syscons which handles the `hanging console'
105 problem and adds some new features and code cleanup. (nate)
106
107- Various TCP bugs fixed - don't forward loopback packets; Nagel
108 congestion avoidence - immediately ack small packets. (davidg)
109
110- TCP debugging code is now truly optional, thus reducing kernel size
111 when it is disabled (the default). (davidg)
112
113- Because the `sio' FIFOs are now configurable, the `com' driver is no
114 longer supported. (team sighs with relief)
115
116- Performance and stylistic improvements to the `sio' serial driver.
117 Probe code now works somewhat better for oddball devices. The 16550
118 FIFO length is now configurable using `flags' in the config
119 declaration. (ache/bde)
120
121- Performance improvements and complete implementation of POSIX VMIN
122 and VTIME for the generic TTY code. (ache/bde)
123
124- Crash dumps on SCSI disks now work and are standard. (rgrimes/davidg)
125
126- QMAGIC is now the official default executable format. (davidg)
127
128- Network booting is now supported, as is booting from DOS. (martin)
129
130- Local LDTs are now supported for WINE (based on work by John Brezak).
131 (hsu/davidg)
132
133- DDB will now print symbolic arguments and line numbers in
134 backtraces (from John Brezak). (davidg)
135
136- Added four pattern memory test to eliminate problems with buggy
137 chipsets that incorrectly map memory, and to find problems with
138 defective memory. The memory sizing code has been improved to
139 further eliminate problems with buggy chipsets/BIOSs. (davidg)
140
141- USE_486_WRITE_PROTECT is now gone; the system will automatically
142 detect 486 CPUs and behave accordingly. (davidg)
143
144- Added SysV IPC, messaging, and semaphore code by Danny Boulet.
145 (hsu/davidg)
146
147- Because of the VM system changes, Paul Kranenburg's process
148 filesystem is now MANDATORY in order for `ps' and friends to be able
149 to dig up process information which has been paged out. (davidg)
150
151- Substantial VM system improvements: (dyson/davidg)
152 o FreeBSD once again works on 4-MB machines.
153 o Maximum and default size limits set to reasonable values.
154 o The user area is now in the process address space, and can
155 now be paged out along with the rest of the process.
156 o Process page tables can now be paged out.
157 o The physical map (pmap) module has been mostly rewritten for
158 efficiency, and is considerably faster than it used to be.
159 o The pageout system now actually implements modified LRU.
160 o Process RSS soft limits implemented. Hooks are in place for
161 RSS hard limits.
162 o Pagers can now do multiple-page operations ("page fault
163 clustering"), and page fault read behind and read ahead
164 have been implemented to take advantage of this.
165 o The vnode pager no longer drags pages through the buffer
166 cache, eliminating an expensive memory copy and flushing
167 of cached data.
168 o When the system runs out of swap space, the faulting process
169 is killed off (with a message to syslog); the old code would
170 just deadlock.
171 o Swap space allocation is much more efficient, and swap
172 striping actually works now. It's now possible for every
173 last block of swap space to be used before the systems runs
174 out.
175 o The pagedaemon's algorithms are considerably improved, thus
176 reducing the amount of CPU time used by the pagedaemon.
177 o All kernels MUST now load at virtual address 0xf010000, and
178 the lower 640k is reclaimed for system use. This removes
179 the 640K kernel size limit.
180 o VM object cache size is now dynamic and a function of the
181 kernel `maxusers' parameter.
182 o Memory in the I/O hole is explicitly marked non-cacheable.
183
184- Added 3C509 driver written by Herb Peyerl. (ats/nate)
185
186- Added a new `wd' driver which does a much better job of probing, handles
187 stray interrupts better, and supports multiple controllers. In addition
188 this driver supports DOS partitions much better and conforms to ATA specs
189 much better. NB: configuration lines for this driver are different
190 than those for pervious versions; see a GENERIC for details.
191 (nate/bde/guido)
192
193- Added support in the if_ed driver for the Toshiba ethernet cards.The
194 support must be enabled with an "options TOSH_ETHER" in the config
195 file. Done it this way, because I don't know how widespread the cards
196 are. (ats)
197
198- Added support in the if_ed driver for the SMC Ultra via patches from
199 Glen Lowe. (davidg)
200
201- Updated Mitsumi CD driver to work with FX models. (jkh/Gary
202 Clark II)
203
204- Add extended formats set to floppy driver, improve autoconfiguration,
205 add "fdformat" utility for floppy formatting.
206 The format of floppy disk minor numbers has changed, thus
207 necessitating a new `MAKEDEV fd'. (ache/joerg/Serge Vakulenko)
208
209- Add XNTPD to contrib section, and (un-compilable) kernel support for
210 same to /sys/kern. (wollman)
211
212- Use linker-constructed sets to initialize certain system tables
213 rather than manually enumerating all the options in the source files.
214 This makes certain pseudo-devices and all image activators drop-in at
215 link time, if desired. (wollman)
216
217- Added YP code from Theo Deraadt. (paul/nate)
218
219- Make all mandatory options ``standard''. (wollman)
220
221- Update `wt' driver to support more devices and controllers. The
222 driver will also auto-detect tape density on models which support
223 it. The structure of `wt' device minor numbers has changed;
224 `MAKEDEV wt' must be run to create the new device nodes.
225
226- Re-design execve() system call to allow for multiple ``image activators''
227 which recognize and load various file formats. Currently only
228 a.out and interpreted formats are recognized. (davidg)
229
230- Provide the address of the faulting reference to signal handlers, to
231 make life easier for smart garbage-collection algorithms. (hsu)
232
233- New, improved process tracing code from Sean Eric Fagan. (davidg)
234
235- Re-organize locore into several different source files according to
236 function. (davidg)
237
238- On panic, don't reboot right away but give the user some time to
239 abort the reboot or at least write down the panic message. (davidg)
240
241- Kernel timezone handling is now delegated to an external program,
242 `adjkerntz'. No more bogus summer time jumps. (ache)
243
244- Separate all IP-related variables that users might want to modify into
245 netinet/in_var.c. (wollman)
246
247- New, redesigned SCSI system; should run faster and have fewer bugs.
248 (julian)
249
250- Make it possible to mmap(2) /dev/mem. (julian)
251
d30b4617 252
b871d53a 253-----------------------
d30b4617 254Userids map as follows:
b871d53a 255-----------------------
d30b4617
GW
256ache Andrew Chernov
257alm Andrew Moore
258ats Andreas Schulz
259chmr Christoph Robitscho
260csgr Geoff Rehmet
261davidg David Greenman
262dyson John Dyson
263guido Guido van Rooij
264hsu Jeffrey Hsu
265jkh Jordan Hubbard
266joerg Joerg Wunsch
267jtc J.T. Conklin
268ljo L. Jonas Olson
269martin Martin Renters
270nate Nate Williams
271paul Paul Richards
272proven Chris Provenzano
273rich Rich Murphey
274rls Rob Shady
275smace Scott Mace
276swallace Steven Wallace
277wollman Garrett Wollman