jkh [Sun, 6 Nov 1994 02:24:45 +0000 (02:24 +0000)]
Sigh. My error message printing was still wrong. Wipe the sleep from
my eyes and do this properly (debugging is especially difficult when you have
to burn a floppy every time you want to test your changes! :-( ).
bde [Sun, 6 Nov 1994 01:33:03 +0000 (01:33 +0000)]
Nuke the losing version of microtime. The assembler version now works
for all reasonable HZ's. HZ > 1000 doesn't work because of sloppy
conversions in hzto() (division by (tick / 1000) == 0). This was
fixed in 1.1.5.
Eliminate some extern declarations by including the appropriate header
files that now contain appropriate declarations.
jkh [Sun, 6 Nov 1994 01:29:26 +0000 (01:29 +0000)]
Get this braindead, mongoloid shell look in /stand for pwd if it can't
find it in /bin. This is something of a kludge, I know, but consider
my limited alternatives: I can't make this an execvp() without making
people scream that I introduced a failure point or slowed down pwd,
and I can't make it an optional macro since crunch doesn't let you pass
arbitrary command-line args to the build of one of its crunch-ees.
This is the simplest, if not the nicest looking, solution I could come up
with.
bde [Sun, 6 Nov 1994 00:46:21 +0000 (00:46 +0000)]
Abort writes if a signal is received (don't ignore the value returned by
tsleep()). Try `dd if=/dev/zero of=/dev/pcaudio bs=640k count=1'. The
write takes a few hundred seconds to drain, and if it is killed by a
signal, it still takes a few hundred seconds to drain and all of those
seconds are spent busy-waiting.
Clean up includes and declarations. Remove bogus casts of args to
timeout functions.
bde [Sat, 5 Nov 1994 23:55:07 +0000 (23:55 +0000)]
Maintain a new variable `timer0_overflow_threshold' so that microtime()
doesn't have to calculate it every call.
Rename `timer0_prescale' to `timer0_prescaler_count' and maintain it
correctly. Previously we lost a few 8253 cycles for every "prescaled"
clock interrupt, and the lossage grows rapidly at 16 KHz. Now we
only lose a few cycles for every standard clock interrupt.
Rename `*_divisor' to `*_max_count'.
Do the calculation of TIMER_DIV(rate) only once instead of 3 times each
time the rate is changed.
Don't allow preposterously large interrupt rates. Bug fixes elsewhere
should allow the system to survive rates that saturate the system, however.
Clean up declarations.
Include <machine/clock.h> to check our own declarations.
bde [Sat, 5 Nov 1994 23:53:46 +0000 (23:53 +0000)]
Fix a bug introduced between 1.1 and 1.1.5. Loading the time was moved
outside the critical region.
Make it work with 2.0. It wasn't designed to be called at splclock().
Make it work with prescaling. The overflow threshold was bogus.
Make it work for any HZ. Side effect of fixing prescaling.
Speed it up. Allocate registers better. Reduce multiplication and
division to multiplication and a shift. Speed is now 5-6 usec on a
486DX/33, was about 3 usec more.
Optimize for the non-pentium case. The pentium code got moved around
a bit and hasn't been tested.
jkh [Sat, 5 Nov 1994 23:12:10 +0000 (23:12 +0000)]
Make ShowFile() now show gzip'd text files. This should save a fair
bit of space on the install floppy. Modify stage0 and the target names
accordingly.
bde [Sat, 5 Nov 1994 22:44:34 +0000 (22:44 +0000)]
Disable the direct call from hardclock() to softclock(). Support
for it is incomplete and buggy. There is no problem unless Xintr0()
is reentered or should be reentered, but high clock interrupt
frequencies for pcaudio cause Xintr0() to be reentered (or clock
ticks to be lost when Xintr0() should have been reentered but
wasn't), and we lose little by delaying the call to softclock().
Move declarations related to the clock driver to clock.h.
Move declarations related to the npx driver to npx.h.
nate [Sat, 5 Nov 1994 18:49:34 +0000 (18:49 +0000)]
Date: Wed, 26 Oct 1994 15:44:49 -0600
From: Chris Torek <torek@bsdi.com>
Here is a semi-official patch (apply to /usr/src/lib/libc/stdio/fseek.c,
rebuild libc, install). The current code fails when the seek:
- is optimized, and
- is to just past the end of the block currently in the buffer, and
- is followed by another seek with no intervening read operation, and
- the destination of subsequent seek is within the block left in the
buffer (seeking to the beginning of a block does not force a read,
so the buffer still contains the previous block)
so it is indeed rather obscure.
I may have a different `final' fix, as this one `loses' the buffer
contents on a seek that goes just past the end of the current block.
[Footnote: seeks are optimized only on read-only opens of regular
files that are buffered by the file's optimal I/O size. This is
what you get with fopen(path, "r") and no call to setvbuf().]
jkh [Sat, 5 Nov 1994 07:38:50 +0000 (07:38 +0000)]
We need CD9660 and MSDOS filesystems built-in if the floppy is to have
a hope of getting at these types of filesystems without dragging all
the LKM stuff in.
phk [Sat, 5 Nov 1994 05:54:21 +0000 (05:54 +0000)]
This file is the documentation for the fdisk/disklabel part of sysinstall,
and will be available from the boot.flp with just one key-stroke. Somebody
will want to purge any danishisms from it before is is let loose...
phk [Sat, 5 Nov 1994 03:34:22 +0000 (03:34 +0000)]
Added a (H)elp function to the fdisk/disklabel code, much needed, now I only
have to write the text-file it will dump on you.
Stopped using cleartoeol in AskEm(), just as a test to see if the screen
looks more sane.
Added a attempted auto-recognition of /, swap and /usr for the first disk
where it looks sensible. Logic of this might need to be improved.
Made a "ShowFile()" which will not bomb/ignore you if the file isn't there.
phk [Sat, 5 Nov 1994 03:13:33 +0000 (03:13 +0000)]
Fixed a ghastly mistake. Edit_line() would "delwin(window)". Bad move
buddy, you'd better not call with stdwin then! fixed now.
Seems like dialog is a LOT more rational now.
/sbin/umount does not return the correct exit status due to incorrect
logic in its internals.
Further, because of the nature of the code, you *cannot* use it to
umount a directory from a union mountpoint. Well, you can sometimes,
it depends on if the directory is at the top of the union stack or not :)
Find enclosed a short bugfix to get the union filesystem up and running
in FreeBSD-current. We don't think we've got all the problems yet but
these fixes sort out the major ones (which mostly concert bad locking
of vnodes), no doubt we'll post others as necessary. Known problems
include the inability of the umount command (not the system call) to unmount
unions in certain circumstances (this is due the way "realpath" works),
and the failure of direntries to always get all available files in
unioned subdirectories. We are, as they say, working on it.
jkh [Fri, 4 Nov 1994 02:14:13 +0000 (02:14 +0000)]
__386BSD__ -> __FreeBSD__
I know that many of these entries are bogus and need to be revisited,
but let's get the tree working again for now and then do a pass through
looking at all the __FreeBSD__ entries, shall we?
Backed out mbuf performance improvement. mbufs are allocated with various
different types, and with the 'local cache', what is freed isn't necessarily
what was originally malloced. This screws malloc's statistics and type
allocation limits, resulting eventually in a deadlock when one of the
limits is bogusly reached. Recent performance tests on a Pentium machine
indicate no improvement with this optimization anyway (this is something
to be looked at further).
jkh [Thu, 3 Nov 1994 19:53:46 +0000 (19:53 +0000)]
For submakes, don't do a `${MAKE} ${MAKEFILE} all' or
`${MAKE} ${MAKEFILE} install', indirect the target through ALL_TARGET and
INSTALL_TARGET now, so they can be easily overridden.
joerg [Thu, 3 Nov 1994 18:20:15 +0000 (18:20 +0000)]
|Both, the wd and the sd driver do not reject invalid request of odd
|sizes. They simply pass them to the disks, which usually causes
|fatal errors then.
phk [Thu, 3 Nov 1994 06:52:42 +0000 (06:52 +0000)]
----------------------------------
GCC-2.6.1 COMES TO FREEBSD-current
----------------------------------
Everybody needs to 'make world'.
Oakland, Nov 2nd 1994. In a surprise move this sunny afternoon, the release-
engineer for the slightly delayed FreeBSD-2.0, Poul-Henning Kamp (28),
decided to pull in the new version 2.6.1 of the GNU C-compiler.
The new version of the compiler was release today at noon, and hardly 9
hours later it was committed into the FreeBSD-current source-repository.
"It's is simply because we have had too much trouble with the version 2.6.0
of the compiler" Poul-Henning told the FreeBSD-Gazette, "we took a gamble
when we decided to use that as our compiler for the 2.0 release, but it
seems to pay of in the end now" he concludes.
The move has not been discussed on the "core" list at all, and will come as
a surprise for most Poul-Hennings peers. "I have only discussed it with
Jordan [J. K. Hubbard, the FreeBSD's resident humourist], and we agreed that
we needed to do it, so ... I did it!". After a breath he added with a grin:
"My email will probably get an all time 'disk-full' now!".
This will bring quite a flag-day to the FreeBSD developers, the patch-file
is almost 1.4 Megabyte, and they will have to run "make world" to get
entirely -current again. "Too bad, but we just had to do this." Was
the only comment from Poul-Henning to these problems.
When asked how this move would impact the 2.0 release-date, Poul-Hennings
face grew dark, he mumbled some very Danish words while he moved his fingers
in strange geometrical patterns. Immediately something ecclipsed the Sun, a
minor tremor shook the buildings, and the temperature fell significantly.
We decided not to pursure the question.
-----------
JOB-SECTION
-----------
Are you a dedicated GCC-hacker ?
We BADLY need somebody to look at the 'freebsd' OS in gcc, sanitize it and
carry the patches back to the GNU people. In particular, we need to get
out of the "i386-only" spot we are in now. I have the stuff to take a
gnu-dist into bmake-form, and will do that part.
jkh [Thu, 3 Nov 1994 04:30:01 +0000 (04:30 +0000)]
Changes to initialize the id_enabled flag to 1.
Also initialize some fields that were never initialized before, and
simply defaulted to 0. I've never looked at this code before, now
I know why. Config needs to die. Horribly.
wollman [Thu, 3 Nov 1994 01:05:34 +0000 (01:05 +0000)]
Completely replace JTW's idea with my (incompletely implemented) original
idea. This is les likely to crash your machine. As before, this code is only
enabled under `options IN_RMX'.
wollman [Thu, 3 Nov 1994 01:04:32 +0000 (01:04 +0000)]
Collapse two fields so that we have space for another 32 flags.
NB: You will have to recompile programs which use the `rt_use' member in
order to get the correct values. This should not cause incorrect operation,
but the statistics may look a little confusing.