‚·42887 113 1444 374 239 176 274 147 108 170 197 254 133 223 286 354 170 411 191 247 262 230 206 264 162 363 409 212 124 143 1202 634 155 199 143 122 146 123 175 176 240 125 782 116 165 1620 110 279 1590 247 135 160 142 140 652 288 719 209 347 721 120 133 148 264 166 173 164 173 116 110 204 214 550 237 304 391 410 153 212 242 323 1168 315 245 343 510 296 855 484 1747 1153 1214 577 188 383 170 1047 269 267 161 144 198 207 123 281 150 205 240 143 223 240 164 646 271 297 K 10 svn:author V 3 imp K 8 svn:date V 27 1999-01-20T06:21:27.000000Z K 7 svn:log V 1350 o enable plug and play support for the aha driver. Given the cumbersome pnp system in freebsd, I'm not sure how useful this will be, but my 1542CP seems to work well in plug and play mode and does seem to probe correctly at all the oddball addresses/irq/drqs that I tried. [[ I was unable to get /kernel.conf or /kernel.config to read in, so I wasn't able to verify that this method of userconfig works. that's one thing that makes pnp so hard to use in the current scheme. Pointers to the right new way of doing this accepted. ]] o Add some kludges to maybe bring support for 1540A/1542A into the driver. Since I have no 154xA cards, and the only person I know that has them hasn't given me feedback, I'm making this commit blind. o Honor unit numbers that are in the config file now. This allows one to hard wire the unit numbers (and have high unit numbers for plug and pray devices, which can't seem to be hardwired) and have the cards not migrate from aha1 -> aha0 should aha0 go on the fritz. I didn't verify that hard wired scsi busses would work, but did verify that hard wired aha addresses did work to a limited extent. Both aha0 and aha1 must be hardwired, or when the card that was in aha0 goes away, the probe for aha0 might pick up the card that otherwise would have been aha1. END K 10 svn:author V 6 fenner K 8 svn:date V 27 1999-01-20T07:44:18.000000Z K 7 svn:log V 278 Import mrouted version 3.9-beta3+IOS12 . This is a version of 3.9-beta3 with minor changes to work around a bug in Cisco's IOS version 12.0 . 3.9-beta3 is much improved over 3.8, and is only labelled "beta" because of missing features, as opposed to instability or known bugs. END K 10 svn:author V 6 fenner K 8 svn:date V 27 1999-01-20T07:44:18.000000Z K 7 svn:log V 143 This commit was generated by cvs2svn to compensate for changes in r42888, which included commits to RCS files with non-trunk default branches. END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 1999-01-20T07:44:19.000000Z K 7 svn:log V 80 This commit was manufactured by cvs2svn to create tag 'mrouted_3_9_beta3_ios12'. END K 10 svn:author V 6 fenner K 8 svn:date V 27 1999-01-20T07:55:57.000000Z K 7 svn:log V 178 Merge conflicts from 3.9-beta3+IOS12. The conflicts were huge; cvs's merge algorithm failed on several files, and the translation of the mrouted man page to mdoc didn't help... END K 10 svn:author V 4 kato K 8 svn:date V 27 1999-01-20T08:29:48.000000Z K 7 svn:log V 54 Sync with sys/i386/conf/Makefile.i386 revision 1.136. END K 10 svn:author V 4 kato K 8 svn:date V 27 1999-01-20T08:31:56.000000Z K 7 svn:log V 15 Remove 'alog'. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1999-01-20T11:36:26.000000Z K 7 svn:log V 78 Remove man page links too, making the world work again. Forgotten by: msmith END K 10 svn:author V 3 jkh K 8 svn:date V 27 1999-01-20T11:53:20.000000Z K 7 svn:log V 104 nuke dset - it doesn't work in a post-ELF world and abial has something better as a replacement (kget). END K 10 svn:author V 3 jkh K 8 svn:date V 27 1999-01-20T11:56:42.000000Z K 7 svn:log V 161 Remove obsolete dset code. It's an ELF/3-stage boot world now and there are cleaner ways of doing this that don't involve stomping on kernel binaries directly. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1999-01-20T12:30:13.000000Z K 7 svn:log V 41 nuke dset from here. Reminded by: peter END K 10 svn:author V 3 jkh K 8 svn:date V 27 1999-01-20T12:31:43.000000Z K 7 svn:log V 130 Replace old SAVE_USERCONFIG code with a customized version of Andrzej's kget code. Also collapse a redundant case in cdrom code. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1999-01-20T13:09:28.000000Z K 7 svn:log V 193 Put back this wholly innocent victim of Mike's drive-by shooting on alog; it belongs to the labpc driver. Mike will be in the corner wearing the pointed hat, should anyone be looking for him. END K 10 svn:author V 6 eivind K 8 svn:date V 27 1999-01-20T14:49:12.000000Z K 7 svn:log V 258 Add 'options DEBUG_LOCKS', which stores extra information in struct lock, and add some macros and function parameters to make sure that the information get to the point where it can be put in the lock structure. While I'm here, add DEBUG_VFS_LOCKS to LINT. END K 10 svn:author V 4 ache K 8 svn:date V 27 1999-01-20T17:22:11.000000Z K 7 svn:log V 77 remove - before __entry, it is not make conmmand but shell continuation line END K 10 svn:author V 6 fenner K 8 svn:date V 27 1999-01-20T17:32:01.000000Z K 7 svn:log V 315 Add a flag, passed to pru_send routines, PRUS_MORETOCOME. This flag means that there is more data to be put into the socket buffer. Use it in TCP to reduce the interaction between mbuf sizes and the Nagle algorithm. Based on: "Justin C. Walker" 's description of Apple's fix for this problem. END K 10 svn:author V 6 fenner K 8 svn:date V 27 1999-01-20T17:45:22.000000Z K 7 svn:log V 96 Also consider the space left in the socket buffer when deciding whether to set PRUS_MORETOCOME. END K 10 svn:author V 3 imp K 8 svn:date V 27 1999-01-20T17:55:22.000000Z K 7 svn:log V 154 Add support for accessing ports. This was done to access parallel ports, but should work for others as well. Submitted by: Parag Patel END K 10 svn:author V 5 brian K 8 svn:date V 27 1999-01-20T18:06:52.000000Z K 7 svn:log V 167 Recurse when we've switched state via LoginDone(). If we've got an open link, we want it to be select()d on - otherwise we get a freeze when ``openmode'' is passive. END K 10 svn:author V 6 mjacob K 8 svn:date V 27 1999-01-20T18:27:31.000000Z K 7 svn:log V 134 I guess this is now a legacy driver (for alpha only right now). At any rate, some changes had to be made so that alpha would compile. END K 10 svn:author V 6 fenner K 8 svn:date V 27 1999-01-20T18:33:13.000000Z K 7 svn:log V 110 Fix raw timestamps (zero-pad usecs) Print 4-digit years in TIMESTAMP_PARSEABLE mode after '99. PR: bin/9507 END K 10 svn:author V 3 mks K 8 svn:date V 27 1999-01-20T18:36:58.000000Z K 7 svn:log V 171 Clarify the number of network interfaces per physical interface available with each type of signalling manager and bring the atm command into agreement with the man page. END K 10 svn:author V 6 mjacob K 8 svn:date V 27 1999-01-20T19:08:45.000000Z K 7 svn:log V 67 temporary fix so alpha stays working while configure code is fixed END K 10 svn:author V 5 peter K 8 svn:date V 27 1999-01-20T19:22:24.000000Z K 7 svn:log V 268 *blush*. As a quick fix, move configure()'s SYSINIT back a little to allow CAM's xpt_init() to get in first. I hope this will fix the build again, sorry guys. :-( XXX configure_start() and configure_end() seem to be a bit excessive.. both here and in the i386 code. END K 10 svn:author V 3 nik K 8 svn:date V 27 1999-01-20T19:46:42.000000Z K 7 svn:log V 316 iso639 is the ISO two letter codes for the representation of the names of languages (en = English, de = German, zn = Chinese, and so on). This complements the existing iso3166 file, which maps codes to countries. Country code != language code. I ran this past -core. No one voiced any objections, jkh said "fine". END K 10 svn:author V 8 gallatin K 8 svn:date V 27 1999-01-20T20:51:39.000000Z K 7 svn:log V 114 Fix some mildly annoying compiler warnings about unused variables and incorrect types in printf() format strings. END K 10 svn:author V 3 jdp K 8 svn:date V 27 1999-01-20T21:21:26.000000Z K 7 svn:log V 32 Add a prototype for strtok_r(). END K 10 svn:author V 3 jdp K 8 svn:date V 27 1999-01-20T21:24:28.000000Z K 7 svn:log V 51 The strtok_r() function is in libc now, so use it. END K 10 svn:author V 3 jdp K 8 svn:date V 27 1999-01-20T21:42:40.000000Z K 7 svn:log V 1108 Add some capabilities to so that it can be used for building dlopen-able modules, and add features needed to build a static PAM library. I think I cleaned it up some, too, but beauty is in the eye of the beholder. You can now build a shared library without version numbers, by defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value, but it can be overridden if desired. If none of these symbols are set, no shared library is built. SHLIB_LINK controls the name of the symbolic link that points to the library. If it is unset, no link is made. In the usual case, it gets the right default: e.g., "libc.so" for ELF, nothing for a.out. This can be overridden. STATICOBJS can be set to a list of extra object files that should be added to the static library but not to the shared library. These objects are added to the profiled library too. These changes should make it easy to use for building things such as PAM modules and dynamic linkers, for which has been abused until now. END K 10 svn:author V 3 jdp K 8 svn:date V 27 1999-01-20T21:48:56.000000Z K 7 svn:log V 541 Change the definition of LIBPAM to support the static PAM library. When linking statically, LIBPAM is augmented with the extra libraries that the PAM modules require. The idea is to centralize this information rather than scattering it about in the Makefiles of all the applications that use (OK, will use) PAM. There is a new variable MINUSLPAM that should be used instead of "-lpam". In the static case, it gets -l flags for the extra required libraries. This approach was suggested by , but he didn't actually review my changes. END K 10 svn:author V 3 jdp K 8 svn:date V 27 1999-01-20T21:55:30.000000Z K 7 svn:log V 63 Make it possible to use PAM in statically-linked applications. END K 10 svn:author V 3 jdp K 8 svn:date V 27 1999-01-20T21:58:46.000000Z K 7 svn:log V 106 Allow login to be linked statically even when PAM is used, since there is now a static version of libpam. END K 10 svn:author V 3 jdp K 8 svn:date V 27 1999-01-20T22:50:37.000000Z K 7 svn:log V 51 Rename some globals to reduce namespace pollution. END K 10 svn:author V 6 mjacob K 8 svn:date V 27 1999-01-20T23:00:31.000000Z K 7 svn:log V 27 put it back the way it was END K 10 svn:author V 3 jkh K 8 svn:date V 27 1999-01-20T23:24:06.000000Z K 7 svn:log V 54 Set JADETEX=no on ports build line. Prompted by: nik END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:25:47.000000Z K 7 svn:log V 30 Add source file vinumdaemon.c END K 10 svn:author V 6 julian K 8 svn:date V 27 1999-01-21T00:26:41.000000Z K 7 svn:log V 80 Minor rearranging of code to allow simple protocol domains to be added as KLDs. END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:29:20.000000Z K 7 svn:log V 83 Include the copyright notice in the script, making the file COPYRIGHT unnecessary. END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:29:44.000000Z K 7 svn:log V 146 Include Peter Wemm's renaming and restructuring Change from lkm to kld Add structures for daemon Remove old cruft Increase RQINFO_SIZE to 128 END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:30:24.000000Z K 7 svn:log V 32 Reflect changes in vinumstate.h END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:30:52.000000Z K 7 svn:log V 688 Include Peter Wemm's renaming and restructuring Change from lkm to kld Remove BROKEN_GDB kludge (it's not needed with klds) Add code for interfacing with daemon Modify manner of determining when module is idle Modify device minor number encoding, use selector functions which also permit anonymous plexes and subdisks. Remove code for 2.x support. Move vinum_scandisk to vinumio.c Remove myproc kludge Keep track of open volumes by flag, not by pid (the pids caused some problems with the lock manager). free_vinum: Remove unmapped and defective regions from plexes. Wait for daemon to stop before returning vinumopen: Don't refuse an open if the volume is already open. END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:31:31.000000Z K 7 svn:log V 23 Code for vinum daemon. END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:31:59.000000Z K 7 svn:log V 72 Include Peter Wemm's renaming and restructuring Change from lkm to kld END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:32:54.000000Z K 7 svn:log V 1525 Include Peter Wemm's renaming and restructuring Change from lkm to kld Remove BROKEN_GDB kludge (it's not needed with klds) Add code for interfacing with daemon Modify device minor number encoding, use selector functions which also permit anonymous plexes and subdisks. Remove code for 2.x support. Change messages to omit obvious words like 'plex' and 'subdisk. give_plex_to_volume: invalidate subdisks being given to a plex which is part of a volume with other plexes. give_sd_to_plex: keep track of plex size in all cases lock drives before closing them, to keep the daemon from getting confused. config_drive: handle partition type errors more gracefully config_subdisk: set subdisk state correctly find_drive, find_drive_by_dev, find_subdisk, find_plex, find_volume: set VF_NEWBORN flag when a new object is created config_drive: Handle partition_status returns more cleverly. Replace the device name in some cases where it got overwritten. config_subdisk: add parameter `update'. If the object already exists, exit without any changes. Set state correctly. config_plex, config_volume: add parameter `update'. If the object already exists, exit without any changes. parse_config: move read function to vinum_scandisk. add parameter `update' to pass to config_. remove__entry: print a message when the object is removed. update_plex_config: Start defusing this function, which will go away some time. Remove calls to update_volume_config. Make size 64 bits END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:33:47.000000Z K 7 svn:log V 17 Remove old cruft END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:34:14.000000Z K 7 svn:log V 185 Include Peter Wemm's renaming and restructuring Change from lkm to kld Recover from I/O errors by passing the request to the daemon, except for plex I/O, which is not fault tolerant. END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:35:35.000000Z K 7 svn:log V 1495 Include Peter Wemm's renaming and restructuring Remove #ifdefs for FreeBSD 2.c Change from lkm to kld correct type of `flags' in calls to set_drive_state. set_drive_parms: handle anonymous drives correctly (remove them) drive VOP functions: use the PID of the original opener to fool the lock manager. open_drive: be quiet about failures (they're normal when scanning the partitions). close_drive: lock drive before closing. remove_drive: lock drive before deallocating. read_drive_label: set drive up when all is OK check_drive: Complete rewrite. Offload most of the code to the new vinum_scandisk format_config: use snprintf and %qd options to make much less emetic. Remove old supporting functions. vinum_scandisk: Moved here from vinum.c Almost complete rewrite, incorporating much of what was check_drive. We still don't have a general way to find the drives on a system, so get the user to supply the names via the `read' command. For each device, try each possible compatibility slice name (there's a danger of finding both /dev/da1h and /dev/da0s1h otherwise). Sort the partitions found in reverse order of last update time and read them in, setting the `update' parameter to parse_config and descendents. save_config: rename to daemon_save_config, since the function is now called by the daemon. Create a new function save_config which queues the request with the daemon. daemon_save_config: some mods to allow for the unfamiliar environment. END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:36:21.000000Z K 7 svn:log V 153 Remove ioctls VINUM_GETUNMAPPED and VINUM_GETDEFECTIVE (we no longer have regions). Add definitions for VINUM_DAEMON, VINUM_FINDDAEMON and VINUM_DAEMON END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:37:18.000000Z K 7 svn:log V 42 Add keywords makedev, setdaemon and help. END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:37:38.000000Z K 7 svn:log V 67 Create functions lockdrive and unlockdrive to handle drive locking END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:37:56.000000Z K 7 svn:log V 49 MMalloc: remove directory part of name correctly END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:39:01.000000Z K 7 svn:log V 47 Add keywords help, makedev, quit and setdaemon END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:39:36.000000Z K 7 svn:log V 558 Include Peter Wemm's renaming and restructuring Change from lkm to kld Remove #ifdefs for FreeBSD 2.c vinumstrategy: Support anonymous (`raw') subdisks and plexes. Change code to allow daemon to perform operations formerly kludged into an interrupt context. Remove the DIRTYCONFIG kludge. No longer set B_ORDERED for reviving subdisks. I suspect this wouldn't work correctly, and it should be done in a different manner in vinumrevive.c sdio: set subdisk state correctly on error start to remove code that doesn't make any sense any more. END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:40:03.000000Z K 7 svn:log V 194 Change the style of revive: revive subdisks instead of plexes. This makes it easier to keep track of which parts of a plex need reviving. Use sdio, not vinumstrategy, to write to the subdisk. END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:40:32.000000Z K 7 svn:log V 625 Include Peter Wemm's renaming and restructuring Change from lkm to kld Serious rewrite. No longer call set__state to set the state based only on other objects; instead, add functions update__state, which determine what the state should be by themselves. This allows the set__state functions to shrink enough to be almost intelligible. Remove flags setstate_recurse and setstate_recursing. Remove plex defective regions and unmapped regions, which were maintained but not used. Change code to allow daemon to perform operations formerly kludged into an interrupt context. Remove the DIRTYCONFIG kludge. END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:40:50.000000Z K 7 svn:log V 115 Remove states: plex_reviving (now we revive subdisks) drive_coming_up (never happened) Add state sd_reviving. END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:41:31.000000Z K 7 svn:log V 253 Retain some of the RAID5 texts even in the non-RAID5 versions. Previously, accidentally starting the wrong version could corrupt the RAID5 configuration. Add functions Volno, Plexno and Sdno to replace the old defines VOLNO, PLEXNO and SDNO. END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:41:58.000000Z K 7 svn:log V 627 Include Peter Wemm's renaming and restructuring Change from lkm to kld Add field plexsdno to sd struct Add flag VF_NEWBORN to drive, sd, plex and volume structs, indicating that the object has just been created. Add object types for raw (unattached) plexes and subdisks Remove definitions of VOLNO, PLEXNO and SDNO (now functions Volno, Plexno and Sdno) Move revive parameters from struct plex to struct sd. struct plex: maintain a count of the number of inaccessible subdisks. remove defective and unmapped regions. Debug flags: make an enum (previously #define) Set default revive block size to 64kB (was 32 kB) END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:43:00.000000Z K 7 svn:log V 27 Remove -DRAID5 from CFLAGS END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:44:11.000000Z K 7 svn:log V 40 Update to reflect changes in kernel lkm END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:45:11.000000Z K 7 svn:log V 55 Update to reflect major changes in vinum kernel module END K 10 svn:author V 4 grog K 8 svn:date V 27 1999-01-21T00:55:28.000000Z K 7 svn:log V 170 Update to reflect changes in kernel module Remove references to LKMs Change descriptions on read command (HEADS UP: this command has changed in an incompatible manner) END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 1999-01-21T00:55:29.000000Z K 7 svn:log V 70 This commit was manufactured by cvs2svn to create branch 'RELENG_2_2'. END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 1999-01-21T00:55:30.000000Z K 7 svn:log V 77 This commit was manufactured by cvs2svn to create tag 'RELENG_2_2_8_RELEASE'. END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 1999-01-21T00:55:31.000000Z K 7 svn:log V 68 This commit was manufactured by cvs2svn to create branch 'RELENG_3'. END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 1999-01-21T00:55:32.000000Z K 7 svn:log V 77 This commit was manufactured by cvs2svn to create tag 'RELENG_3_0_0_RELEASE'. END K 10 svn:author V 3 jkh K 8 svn:date V 27 1999-01-21T03:07:33.000000Z K 7 svn:log V 24 This is now 4.0-current END K 10 svn:author V 3 jkh K 8 svn:date V 27 1999-01-21T05:33:18.000000Z K 7 svn:log V 18 Now we're -STABLE END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T08:08:55.000000Z K 7 svn:log V 108 Update pstat -s to handle both old and new swapper. Add pstat -ss to dump new swapper's radix tree. END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T08:11:06.000000Z K 7 svn:log V 118 Add new blist module - radix tree based bitmap allocator with size hinting. Will be used by the new swapper. END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T08:29:12.000000Z K 7 svn:log V 454 This is a rather large commit that encompasses the new swapper, changes to the VM system to support the new swapper, VM bug fixes, several VM optimizations, and some additional revamping of the VM code. The specific bug fixes will be documented with additional forced commits. This commit is somewhat rough in regards to code cleanup issues. Reviewed by: "John S. Dyson" , "David Greenman" END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T08:58:41.000000Z K 7 svn:log V 141 This module was used only by the old swapper and has been #if'd out, and will be eventually removed if no other use is found for it. END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T09:00:26.000000Z K 7 svn:log V 208 Fixed a potential bug ( but maybe not ), where sendfile() clears PG_BUSY on a page without testing for waiters. Also collapsed busy wait into new vm_page_sleep_busy() inline ( see vm/vm_page.h ) END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T09:02:18.000000Z K 7 svn:log V 295 The code that reclaims descriptors from in-transit unix domain descriptor-passing messages was calling sorflush() without checking to see if the descriptor was actually a socket. This can cause a crash by exiting programs that use the mechanism under certain circumstances. END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T09:19:33.000000Z K 7 svn:log V 314 The main operational changes are in getblk()'s handling of the B_DELWRI and B_CACHE flags, fixing a bug that showed up with NFS. Also, a number of cases where manually inserted code has been removed and replaced with an inline function call giving us better functional isolation in the source. END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T09:23:21.000000Z K 7 svn:log V 58 Renamed M_KERNEL to a more appropriate M_USE_RESERVE. END K 10 svn:author V 6 eivind K 8 svn:date V 27 1999-01-21T09:24:28.000000Z K 7 svn:log V 116 Move EXT2FS to be more visible, and give it a description. Also make the text from my last commit somewhat better. END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T09:24:46.000000Z K 7 svn:log V 146 Access to mfsp->buf_queue must be protected at splbio(). Other minor adjustments also made, such as passing mfsp to mfs_doio() directly. END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T09:27:03.000000Z K 7 svn:log V 227 Added support for VOP_FREEBLKS(), reducing MFS's impact on swap and increasing performance by deallocating at least some of the backing store when files are removed. Protect mfsp->buf_queue access at splbio(). END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T09:33:07.000000Z K 7 svn:log V 1071 The default_pager's interaction with the swap_pager has been reorganized, and the swap_pager has been completely replaced. The new swap pager uses the new blist radix-tree based bitmap allocator for low level swap allocation and deallocation. The new allocator is effectively O(5) while the old one was O(N), and the new allocator allocates all required memory at init time rather then at allocate memory on the fly at run time. Swap metadata is allocated in clusters and stored in a hash table, eliminating linearly allocated structures. Many, many features have been rewritten or added. Swap space is now reallocated on the fly providing a poor-mans auto defragmentation of swap space. Swap space that is no longer needed is freed on a timely basis so no garbage collection is necessary. Swap I/O is marked B_ASYNC and NFS has been fixed to do the right thing with it, so NFS-based paging now has around 10x the performance as it did before ( previously NFS enforced synchronous I/O for paging ). END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T09:35:38.000000Z K 7 svn:log V 219 Mainly cleanup. Removed some inappropriate low-memory handling code and added lots of comments. Add tie-in to vm_pager ( and thus the new swapper ) to deallocate backing swap for dirtied pages on the fly. END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T09:36:23.000000Z K 7 svn:log V 149 Removed low-memory blockages at fork. This is the wrong place to put this sort of test. We need to fix the low-memory handling in general. END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T09:38:20.000000Z K 7 svn:log V 247 Potential bug fix, do not just clear PG_BUSY... call vm_page_wakeup() instead to properly handle any waiters. Added comments, added support for M_ASLEEP. Generally treat M_ flags as flags instead of constants to compare against. END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T09:40:48.000000Z K 7 svn:log V 414 General cleanup related to the new pager. We no longer have to worry about conversions of objects to OBJT_SWAP, it is done automatically now. Replaced manually inserted code with inline calls for busy waiting on pages, which also incidently fixes a potential PG_BUSY race due to the code not running at splvm(). vm_objects no longer have a paging_offset field ( see vm/vm_object.c ) END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T09:41:52.000000Z K 7 svn:log V 200 Objects associated with raw devices are no longer counted in the VM stats total because they may contain absurd numbers ( like the size of all of physical memory if you mmap() /dev/mem ). END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T09:46:55.000000Z K 7 svn:log V 759 object->id was badly implemented. It has simply been removed. object->paging_offset has been removed - it was used to optimize a single OBJT_SWAP collapse case yet introduced massive confusion throughout vm_object.c. The optimization was inconsequential except for the claim that it didn't have to allocate any memory. The optimization has been removed. madvise() has been fixed. The old madvise() could be made to operate on shared objects which is a big no-no. The new one is much more careful in what it modifies. MADV_FREE was totally broken and has now been fixed. vm_page_rename() now automatically dirties a page, so explicit dirtying of the page prior to calling vm_page_rename() has been removed. END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T09:51:21.000000Z K 7 svn:log V 388 The vm_object structure is now somewhat smaller due to the removal of most of the swap-pager-specific fields, the removal of the id, and the removal of paging_offset. A new inline, vm_object_pip_wakeupn() has been added to subtract an arbitrary number n from the paging_in_progress count and then wakeup waiters as necessary. n may be 0, resulting in a 'flash'. END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T10:01:49.000000Z K 7 svn:log V 1650 The hash table used to be a table of doubly-link list headers ( two pointers per entry ). The table has been changed to a singly linked list of vm_page_t pointers. The table has been doubled in size, but the entries only take half the space so a net-zero change in memory use. The hash function has been changed, hopefully for the better. The combination of the larger hash table size of changed function should keep the chain length down to a reasonable number (0-3, average 1). vm_object->page_hint has been removed. This 'optimization' was not only never needed, but costs as much as a hash chain link to implement. While having page_hint in vm_object might result in better locality of reference, the cost is not worth the space in vm_object or the extra instructions in my view. vm_page_alloc*() functions have been inlined and call a generalized non-inlined vm_page_alloc_toq() which combines the standard alloc and zero-page alloc functions together, reducing code size and the L1 cache footprint. Some reordering has been done... not much. The delinking code should be faster ( because unlinking a doubly-linked list requires four memory ops and unlinking a singly linked list only requires two ), and we get a hash consistancy check for free. vm_page_rename() now automatically sets the page's dirty bits. vm_page_alloc() does not try to manually inline freeing a cache page. Instead, it now properly calls vm_page_free(m) ... vm_page_free() is really too complex to manually inline. vm_await(), supporting asleep(), has been added. END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T10:06:24.000000Z K 7 svn:log V 1056 The TAILQ hashq has been turned into a singly-linked=list link, reducing the size of vm_page_t. SWAPBLK_NONE and SWAPBLK_MASK are defined here. These actually are more generalized then their names imply, but their placement is somewhat of a legacy issue from a prior test version of this code that put the swapblk in the vm_page_t structure. That test code was eventually thrown away. The legacy remains. Added vm_page_flash() inline. Similar to vm_page_wakeup() except that it does not clear PG_BUSY ( one assumes that PG_BUSY is already clear ). Used by a number of routines to wakeup waiters. Collapsed some of the code in inline calls to make other inline calls. GCC will optimize this well and it reduces duplication. vm_page_free() and vm_page_free_zero() inlines added to convert to the proper vm_page_free_toq() call. vm_page_sleep_busy() inline added, replacing vm_page_sleep() ( which has been removed ). This implements a much more optimizable page-waiting function. END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T10:12:54.000000Z K 7 svn:log V 1117 Reorganized some of the low memory testing code to make it more useful. Removed call to vm_object_collapse(), which can block. This was being called without the pageout code holding any sort of reference on the vm_object or vm_page_t structures being manipulated. Since this code can block, it was possible for other kernel code to shred the state the pageout code was assuming remained intact. Fixed potential blocking condition in vm_pageout_page_free() ( which could cause a deadlock in a low-memory situation ). Currently there is a hack in-place to deal with clean filesystem meta-data polluting the inactive page queue. John doesn't like the hack, and neither do I. Revamped and commented a portion of the pageout loop. Added protection against potential memory deadlocks with OBJT_VNODE when using VOP_ISLOCKED(). The problem is that vp->v_data can be NULL which causes VOP_ISLOCKED() to return a less informed answer. remove vm_pager_sync() -- none of the pagers use it any more ( the old swapper used to. The new one does not ). END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T10:15:24.000000Z K 7 svn:log V 481 Move many of the vm_pager_*() functions from vm_pager.c to inlines in vm_pager.h Added argument to getpbuf() and relpbuf() to allow each subsystem to specify a different hard limit on the number of simultanious physical bufferes that said subsystem may allocate. Without this feature, one subsystem ( e.g. the vfs clustering code ) could hog *ALL* the pbufs, causing a deadlock in the pager in a low memory situation. Same for trypbuf(). END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T10:15:47.000000Z K 7 svn:log V 93 Move many of the vm_pager_*() functions from vm_pager.c to inlines in vm_pager.h END K 10 svn:author V 6 dillon K 8 svn:date V 27 1999-01-21T10:17:12.000000Z K 7 svn:log V 287 Mainly changes to support the new swapper. The big adjustment is that swap blocks are now in PAGE_SIZE'd increments instead of DEV_BSIZE'd increments. We still convert to DEV_BSIZE'd increments for the backing store I/O, but everything else is in PAGE_SIZE increments. END K 10 svn:author V 5 peter K 8 svn:date V 27 1999-01-21T13:41:12.000000Z K 7 svn:log V 76 Typo: s/bpreassignbuf/pbreassignbuf/ so the prototype matches it's function END K 10 svn:author V 7 brandon K 8 svn:date V 27 1999-01-21T13:50:09.000000Z K 7 svn:log V 950 Rewrite of crypt library to be more modular, and addition of the Secure Hashing Algorithm - 1 (SHA-1), along with the further refinement of what $x$salt$hash means. With this new crypt the following are all acceptable: $1$ $MD5$ $SHA1$ Note: $2$ is used by OpenBSD's Blowfish, which I considered adding as $BF$, but there is no actual need for it with SHA-1. However, somebody wishing to add OpenBSD password support could easilly add it in now. There is also a malloc_crypt() available in the library now, which behaves exactly the same as crypt(), but it uses a malloced buffer instead of a static buffer. However, this is not standard so will likely not be used much (at all). Also, for those interested I did a brief speed test Pentium 166/MMX, which shows the DES crypt to do approximately 2640 crypts a CPU second, MD5 to do about 62 crypts a CPU second and SHA1 to do about 18 crypts a CPU second. Reviewed by: Mark Murray END K 10 svn:author V 7 brandon K 8 svn:date V 27 1999-01-21T13:51:04.000000Z K 7 svn:log V 172 Moved from the old secure/lib/libcrypt area, because of the rewrite to how the Makefile handles des support by just including the single .c file. Reviewed by: Mark Murray END K 10 svn:author V 7 brandon K 8 svn:date V 27 1999-01-21T13:51:49.000000Z K 7 svn:log V 170 Removed from the secure/lib/libcrypt area, because of the rewrite to how the Makefile handles des support by just including the single .c file. Reviewed by: Mark Murray END K 10 svn:author V 5 peter K 8 svn:date V 27 1999-01-21T16:15:53.000000Z K 7 svn:log V 67 Typo: s/mdev/bdev/, added in rev 1.47 (must fix in RELENG_3 too) END K 10 svn:author V 5 peter K 8 svn:date V 27 1999-01-21T17:17:02.000000Z K 7 svn:log V 50 Convert vn.c into a module (loadable and static). END K 10 svn:author V 7 wollman K 8 svn:date V 27 1999-01-21T17:18:06.000000Z K 7 svn:log V 101 Update timezone file description to match new zic (coming soon). Update man page to reflect reality. END K 10 svn:author V 5 peter K 8 svn:date V 27 1999-01-21T17:18:34.000000Z K 7 svn:log V 112 Build a vn module. I've lost count of the number of times I could have used vn but didn't have it compiled in. END K 10 svn:author V 5 peter K 8 svn:date V 27 1999-01-21T17:19:56.000000Z K 7 svn:log V 29 Add vn module to build list. END K 10 svn:author V 7 wollman K 8 svn:date V 27 1999-01-21T17:22:59.000000Z K 7 svn:log V 184 Merge from vendor branch: timezone file structure changes and doco. Fix localtime.c to deal with new magic number field. Obtained from: ftp://elsie.nci.nih.gov/pub/tzcode1999a.tar.gz END K 10 svn:author V 5 peter K 8 svn:date V 27 1999-01-21T17:23:30.000000Z K 7 svn:log V 56 Oops, I accidently had devfs enabled in the vn module.. END K 10 svn:author V 7 wollman K 8 svn:date V 27 1999-01-21T17:31:43.000000Z K 7 svn:log V 108 Updated timezone compiler from Arthur Olson. Obtained from: ftp://elsie.nci.nih.gov/pub/tzcode1999a.tar.gz END K 10 svn:author V 7 wollman K 8 svn:date V 27 1999-01-21T17:31:43.000000Z K 7 svn:log V 143 This commit was generated by cvs2svn to compensate for changes in r42991, which included commits to RCS files with non-trunk default branches. END K 10 svn:author V 7 wollman K 8 svn:date V 27 1999-01-21T17:32:37.000000Z K 7 svn:log V 47 Remove two files replaced with HTML by vendor. END K 10 svn:author V 7 wollman K 8 svn:date V 27 1999-01-21T17:33:32.000000Z K 7 svn:log V 126 First stage in giving zic/zdump its own version of private.h so that they are decoupled somewhat from libc/stdtime's version. END K 10 svn:author V 7 wollman K 8 svn:date V 27 1999-01-21T17:33:32.000000Z K 7 svn:log V 143 This commit was generated by cvs2svn to compensate for changes in r42994, which included commits to RCS files with non-trunk default branches. END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 1999-01-21T17:33:33.000000Z K 7 svn:log V 68 This commit was manufactured by cvs2svn to create tag 'tzcode1999a'. END K 10 svn:author V 7 wollman K 8 svn:date V 27 1999-01-21T17:46:19.000000Z K 7 svn:log V 549 Merge changes from vendor branch (tzcode1999a), plus the following additional changes: - Finish migrating zic to its own private.h. - Fix zic.8 so that it really is written in -mdoc. - Add four new flags to zic (&document): -D don't create directories -u change ownership of newly-created files to user -g change ownership of newly-created files to group -m change mode of newly-created files to modespec These, once proven, can be used to clean up the installation. Obtained from: ftp://elsie.nci.nih.gov/pub/tzcode1999a.tar.gz (partially) END K 10 svn:author V 6 yokota K 8 svn:date V 27 1999-01-21T18:29:33.000000Z K 7 svn:log V 175 Add VESA mode support. If the VESA support is compiled into the kernel or the VESA KLD is preloaded by the boot loader, you can load a 256 color BMP file larger than 320x200. END K 10 svn:author V 7 wollman K 8 svn:date V 27 1999-01-21T19:09:15.000000Z K 7 svn:log V 200 Add the new code for Palestine, with the comment that we don't know what its correct numeric is. Although Hong Kong (HK) was deleted at about the same time, it remains in wide use so we leave it in. END