Commit Graph

48785 Commits

Author SHA1 Message Date
tv c7452585f3 Make `call' command work on arm32. Patch supplied by Richard Earnshaw in
port-arm32/6781.
1999-02-23 23:38:19 +00:00
nathanw 281bba9355 Update for minor changes in the ad1848 back end. 1999-02-23 21:16:27 +00:00
dante eab52d94b3 Fixed AdvanSys Ultra Wide driver to work on Alpha. 1999-02-23 20:18:16 +00:00
is 874801e906 Remove zero length array 1999-02-23 20:11:06 +00:00
christos 88162a0fe9 Make this compile without EXEC_AOUT and with COMPAT_FREEBSD 1999-02-23 18:19:29 +00:00
mycroft d4955ba8a9 While I'm on a fixed point kick, improve the NTP clock factor correction to
give <.1% error in all (supported) cases.  It doesn't cost us much.
1999-02-23 17:41:48 +00:00
mrg bdadd56346 add a new fstab type "dp" for the user-specified dump device.
change swapctl -A to see this and add it via swapctl(2).  also
add a new swapctl -D <device> to change the dump device on the
fly.
1999-02-23 17:00:53 +00:00
kleink cd577c539a Addendum to rev. 1.15: use of __extension__ here is supported in GCC 2.8.0 and
above only; since this is the only occurence, fix it locally rather than in
<sys/cdefs.h> as to not remove all the functionality on pre-2.8 systems.
XXX Shouldn't use zero-length arrays at all.
1999-02-23 16:59:38 +00:00
mrg 3743c9e91d handle SWAP_DUMPDEV 1999-02-23 15:58:28 +00:00
mrg 6ef324e7de getopt returns -1 not EOF. clear grouplist also if setting gid. 1999-02-23 15:54:26 +00:00
scottr 37c5e1f843 Some machines actually do have two floppy drives. 1999-02-23 14:56:26 +00:00
scottr 4687329516 Add the mac68k iwm(4) man page. 1999-02-23 14:53:57 +00:00
scottr ac6bed427b Add the missing iwm(4) man page. 1999-02-23 14:52:02 +00:00
lukem 66f6dda9f1 regen 1999-02-23 14:34:21 +00:00
simonb faca98eb71 Add memset.S instead of memset.c, and remove __main.c. 1999-02-23 11:06:38 +00:00
christos ca98b383fd Oops remove WARNS=1 1999-02-23 10:51:53 +00:00
christos 756b1291db Resolve conflicts. 1999-02-23 10:47:39 +00:00
nathanw fad6371a16 Update for recent changes in wssvar.h. 1999-02-23 09:14:05 +00:00
pk 9efc61e01c Accept __syscall() in NetBSD a.out emulation. 1999-02-23 06:47:05 +00:00
nisimura d6715660b7 - Introduce the first cut of faster wsdisplay_emulops exploiting SFB
accelerator potential.  Need more work to finish replacing rcons.
Premilinary tests were done with DECstation and TC Alpha.
1999-02-23 06:34:49 +00:00
thorpej 76e4555f2c Now that we have the kthread mechanism, massively clean up the way
additional processors are spun up on multiprocessor Alpha systems.
Now, each processor gets its own idle thread (the primary processor
uses proc0).  This idle thread is used in switch_exit(), rather than
explicitly referencing proc0.

Also, make `curproc', `fpcurproc', and `curpcb' per-cpu values.  This
required some data structure rearrangement; cpu info is now statically
allocated in the BSS, rather than via malloc(), and cpu_softc is gone.
(Modeled somewhat after NetBSD/sparc's multiprocessor info structures.)
1999-02-23 03:20:00 +00:00
ross 5bc723973e Add sched.h. 1999-02-23 03:04:49 +00:00
ross 6803dbddbb Replace the recent scheduler mods with calls to scheduler_{fork,wait}_hook(),
(inlined) so scheduler functionality can be kept in a single .h/.c set.
Also, the wait hook has changed the way it clips the scheduler history.
1999-02-23 02:57:18 +00:00
ross f39415fb66 Add sched.h. 1999-02-23 02:56:54 +00:00
ross 16204c31ac Generate the new schedclk() call into the MI kernel. Set schedhz
here to indicate that.
1999-02-23 02:56:40 +00:00
ross b4a33c4e60 Scheduler bug fixes and reorganization
* fix the ancient nice(1) bug, where nice +20 processes incorrectly
  steal 10 - 20% of the CPU, (or even more depending on load average)
* provide a new schedclk() mechanism at a new clock at schedhz, so high
  platform hz values don't cause nice +0 processes to look like they are
  niced
* change the algorithm slightly, and reorganize the code a lot
* fix percent-CPU calculation bugs, and eliminate some no-op code

=== nice bug === Correctly divide the scheduler queues between niced and
compute-bound processes. The current nice weight of two (sort of, see
`algorithm change' below) neatly divides the USRPRI queues in half; this
should have been used to clip p_estcpu, instead of UCHAR_MAX.  Besides
being the wrong amount, clipping an unsigned char to UCHAR_MAX is a no-op,
and it was done after decay_cpu() which can only _reduce_ the value.  It
has to be kept <= NICE_WEIGHT * PRIO_MAX - PPQ or processes can
scheduler-penalize themselves onto the same queue as nice +20 processes.
(Or even a higher one.)

=== New schedclk() mechansism === Some platforms should be cutting down
stathz before hitting the scheduler, since the scheduler algorithm only
works right in the vicinity of 64 Hz. Rather than prescale hz, then scale
back and forth by 4 every time p_estcpu is touched (each occurance an
abstraction violation), use p_estcpu without scaling and require schedhz
to be generated directly at the right frequency. Use a default stathz (well,
actually, profhz) / 4, so nothing changes unless a platform defines schedhz
and a new clock.  Define these for alpha, where hz==1024, and nice was
totally broke.

=== Algorithm change === The nice value used to be added to the
exponentially-decayed scheduler history value p_estcpu, in _addition_ to
be incorporated directly (with greater wieght) into the priority calculation.
At first glance, it appears to be a pointless increase of 1/8 the nice
effect (pri = p_estcpu/4 + nice*2), but it's actually at least 3x that
because it will ramp up linearly but be decayed only exponentially, thus
converging to an additional .75 nice for a loadaverage of one. I killed
this, it makes the behavior hard to control, almost impossible to analyze,
and the effect (~~nothing at for the first second, then somewhat increased
niceness after three seconds or more, depending on load average) pointless.

=== Other bugs === hz -> profhz in the p_pctcpu = f(p_cpticks) calcuation.
Collect scheduler functionality. Try to put each abstraction in just one
place.
1999-02-23 02:56:03 +00:00
wrstuden 6790f70d78 Make cross-building from i386 to powerpc (from signed to unsigned char)
ports work right.
1999-02-23 01:50:26 +00:00
jonathan 68a5ad19be Fix off-by-one width: 220, not 221. confirmed against PROM setup. 1999-02-23 01:35:56 +00:00
simonb 381c553a53 Use -Os to reduce code size (from Krister Walfridsson). 1999-02-23 01:23:26 +00:00
thorpej fbca0a78d7 Do all the fancy printf format checking. 1999-02-23 01:00:51 +00:00
msaitoh 9a58d580cd Add note about LD_PRELOAD 1999-02-22 23:07:16 +00:00
kleink c49b4850b3 XPG4.2:
* Add the -s (first identifier found only) flag.
* Require at least one file operand; the standard does not permit reading from
stdin in case none were given.
* Recogize '\' as an additional identifier end character.
* Make the exit status depend on whether any matches were found.
1999-02-22 22:23:09 +00:00
kleink 1cfce9cbf5 Add the XPG4.2 -p flag. 1999-02-22 22:16:01 +00:00
is e6da344c31 Update. 1999-02-22 22:07:37 +00:00
is 74ad0ecb0d Generate the MIT-assembler-format files statically. They nearly never change,
and if so, should be generated via the new Makefile and committed, too.
1999-02-22 21:25:05 +00:00
tsubai 16442fd649 Add MESH SCSI driver.
Sort entries.
1999-02-22 20:25:43 +00:00
thorpej ca42d26309 GENERIC already has DDB. 1999-02-22 19:14:46 +00:00
pk 372e76a3bb Since V2 & V3 proms already pass us ihandles for stdin and stdout,
there's no need to open the device a second time. It suffices to
just convert the `ihandles' to `phandles'.
1999-02-22 17:15:30 +00:00
pk 4c7fbbb5c8 Add an approximation of the necessary sparc bits in here.
I've not followed the trend in this file by trying to wrench the MD
code into individual functions. Rather I,ve replaced several functions
wholesale.  Anyway, this whole file needs to be re-done.
1999-02-22 17:06:11 +00:00
drochner 220b8d9add PR kern/7033 (Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>): use
device minor to unit/partition macros from sys/disklabel.h
1999-02-22 16:00:01 +00:00
christos ae6215337e Don't use 1: label; it is uses by the PIC_PROLOGUE macro and we jmp in the
wrong place!
1999-02-22 13:07:14 +00:00
simonb ffa92484e2 Update cpp defines to current reality. 1999-02-22 11:57:18 +00:00
simonb 74f2d414ef Load the bootblocks at 0x8070000 so that ramdisk kernels don't
overwrite the beginning of the bootblocks.
1999-02-22 11:53:57 +00:00
simonb 69ba0d255c Update list of source files to reflect reality. 1999-02-22 11:31:46 +00:00
simonb c3baaf3ba5 Lightweight memset routine. 1999-02-22 11:26:15 +00:00
simonb 31f50e4868 Assembly stubs to PROM callback routines. 1999-02-22 11:22:40 +00:00
simonb 80ef484669 Use sys/lib/libsa/ routines now. 1999-02-22 11:21:21 +00:00
simonb 74df4f53e0 Allow code in sector zero (from Michael Hitch).
Also in start.S:
 + Removed unused printf routine.
 + Removed unused dummy __main for gcc.
 + s/bzero/memset/.
1999-02-22 11:01:43 +00:00
simonb 09cca9e076 Don't use the conf.c->bootconf.c guff, remove last tape support,
and actually install the bootblocks.
1999-02-22 10:53:13 +00:00
christos f4287ac1d3 Add internal structure used by the t* routines, protected via an ifdef 1999-02-22 10:34:28 +00:00