]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
25 years agomain (): Don't loop waiting for children to finish.
grog [Sun, 28 Mar 1999 08:51:29 +0000 (08:51 +0000)]
main (): Don't loop waiting for children to finish.

25 years agovinum_start: Allow user to specify a plex. In this case, revive all
grog [Sun, 28 Mar 1999 08:51:10 +0000 (08:51 +0000)]
vinum_start: Allow user to specify a plex.  In this case, revive all
     subdisks in need of revival.

vinum_stop:  sleep for a second before unloading.  This solves a race
     condition with a potential daemon when the stop command
     is specified on the command line.

25 years agoDescribe referenced states for plex and subdisk.
grog [Sun, 28 Mar 1999 08:50:11 +0000 (08:50 +0000)]
Describe referenced states for plex and subdisk.

Remove BUGS entry for initializing RAID-5 plexes.

Get date right.

25 years agoAdd support for SiS 5591/5595 chipset.
grog [Sun, 28 Mar 1999 05:05:12 +0000 (05:05 +0000)]
Add support for SiS 5591/5595 chipset.

Contributed-by: "Richard Seaman, Jr." <dick@tar.com>
Tested-by: Chris Piazza <cpiazza@home.net>
Tugrul Galatali <tugrul@ianai.BlackSun.org>
grog

This code includes lots of stuff for verbose probing.  I'm not 100%
sure that the output of the verbose probe is correct, but everything
else works fine, and -CURRENT was broken for the 5591 before, so I'm
committing it anyway.

25 years agoIncrease the timeout and wait for ``PPP'' in the compuserve
brian [Sun, 28 Mar 1999 00:22:44 +0000 (00:22 +0000)]
Increase the timeout and wait for ``PPP'' in the compuserve
example.

Submitted by: MALCOLM BOFF <Malcolm_Boff@compuserve.com>

25 years agoMainly, eliminate the comments about share maps. (We don't have share maps
alc [Sat, 27 Mar 1999 23:46:04 +0000 (23:46 +0000)]
Mainly, eliminate the comments about share maps.  (We don't have share maps
any more.)  Also, eliminate an incorrect comment that says that we don't
coalesce vm_map_entry's.  (We do.)

25 years agoCleaning up of code, remove unneeded cruft and make
n_hibma [Sat, 27 Mar 1999 23:08:44 +0000 (23:08 +0000)]
Cleaning up of code, remove unneeded cruft and make
code more compact.

25 years agoFixed line counting error.
n_hibma [Sat, 27 Mar 1999 22:41:40 +0000 (22:41 +0000)]
Fixed line counting error.

25 years agoPartial fix for the forking problem: if we can't access the master maps,
des [Sat, 27 Mar 1999 21:51:33 +0000 (21:51 +0000)]
Partial fix for the forking problem: if we can't access the master maps,
try again with the unrestricted map.

PR: bin/10821

25 years agoAdded pread and pwrite. These functions are defined by the X/Open
alc [Sat, 27 Mar 1999 21:16:58 +0000 (21:16 +0000)]
Added pread and pwrite.  These functions are defined by the X/Open
Threads Extension.  (Note: We use the same syscall numbers as NetBSD.)

Submitted by: John Plevyak <jplevyak@inktomi.com>

25 years agoDue to the switch form Julian to Gregorian calender,
helbig [Sat, 27 Mar 1999 21:08:13 +0000 (21:08 +0000)]
Due to the switch form Julian to Gregorian calender,
even a whole month might be missing.
This caused a bug for the LN -calender, whose switch was
on Dec 12, 9999.

25 years agoMake the xl and pn drivers work on FreeBSD/alpha and add them to
wpaul [Sat, 27 Mar 1999 20:41:25 +0000 (20:41 +0000)]
Make the xl and pn drivers work on FreeBSD/alpha and add them to
sys/alpha/conf/GENERIC.

Note: the PNIC ignores the lower few bits of the RX buffer DMA address,
which means we have to add yet another kludge to make it happy. Since
we can't offset the packet data, we copy the first few bytes of the
received data into a separate mbuf with proper alignment. This puts
the IP header where it needs to be to prevent unaligned accesses.

Also modified the PNIC driver to use a non-interrupt driven TX
strategy. This improves performance somewhat on x86/SMP systems where
interrupt delivery doesn't seem to be as fast with an SMP kernel as
with a UP kernel.

25 years agoIf ALLLANG is not set then ensure that DOC_LANG=en is, so that
nik [Sat, 27 Mar 1999 16:02:04 +0000 (16:02 +0000)]
If ALLLANG is not set then ensure that DOC_LANG=en is, so that
the English Handbook is built (it's not built by default any more).

25 years agoBump __FreeBSD_version to denote that we now have a functional
steve [Sat, 27 Mar 1999 05:26:10 +0000 (05:26 +0000)]
Bump __FreeBSD_version to denote that we now have a functional
dladdr(3) implementation.

Discussed with: jdp, nate

25 years agoRemove incorrect lock specs for vop_whiteout (introduced by Lite/2).
eivind [Sat, 27 Mar 1999 03:08:07 +0000 (03:08 +0000)]
Remove incorrect lock specs for vop_whiteout (introduced by Lite/2).
The lock specs are for vnodes only.

Add (hopefully correct) lock specs for vop_strategy, vop_getpages and
vop_putpages.

25 years agoCorrect a comment.
eivind [Sat, 27 Mar 1999 02:39:01 +0000 (02:39 +0000)]
Correct a comment.

25 years ago1. Update TAPE to point to new CAM-style device name.
jkh [Sat, 27 Mar 1999 01:48:44 +0000 (01:48 +0000)]
1. Update TAPE to point to new CAM-style device name.
2. Don't prompt for removal twice on fixit floppy.

Submitted by: jack <jack@germanium.xtalwind.net>

25 years agoRemove incomplete diagram in troff output only.
grog [Sat, 27 Mar 1999 00:22:34 +0000 (00:22 +0000)]
Remove incomplete diagram in troff output only.

Typo: replace 'subvolume' with 'subdisk'.

Put a \& in front of a line starting with a period.

PR:   docs/10809
Reported-by: Kanenda

25 years ago- There exists a manpage, so use/install it.
nate [Fri, 26 Mar 1999 21:27:01 +0000 (21:27 +0000)]
- There exists a manpage, so use/install it.

25 years agoChanged vn_read/write such that fp->f_offset isn't touched
alc [Fri, 26 Mar 1999 20:25:21 +0000 (20:25 +0000)]
Changed vn_read/write such that fp->f_offset isn't touched
if uio->uio_offset != -1.  This fixes a problem with aio_read/write
and permits a straightforward implementation of pread/pwrite.

PR: kern/8669
Submitted by: John Plevyak <jplevyak@inktomi.com>
Reviewed by: Matthew Dillon <dillon@apollo.backplane.com>

25 years agoUse the correct length from the mbuf header instead of the one from
luigi [Fri, 26 Mar 1999 14:15:59 +0000 (14:15 +0000)]
Use the correct length from the mbuf header instead of the one from
the IP header (this would not work for bridged packets).
This has been fixed long ago in the 2.2 branch.

Problem noticed by: a few people
Fix suggested by: Remy Nonnenmacher

25 years agoAdd `const's that I forgot to commit. Not bad - I broke
brian [Fri, 26 Mar 1999 07:13:12 +0000 (07:13 +0000)]
Add `const's that I forgot to commit.  Not bad - I broke
the -stable and -current builds in the space of 1 day !

Pointed out by: jdp

25 years agoFixed bitrot in synopsis.
bde [Fri, 26 Mar 1999 02:11:59 +0000 (02:11 +0000)]
Fixed bitrot in synopsis.

25 years agoAnnoying little nigglet- apparently *some* Qlogic temporarily ignore
mjacob [Fri, 26 Mar 1999 00:33:13 +0000 (00:33 +0000)]
Annoying little nigglet- apparently *some* Qlogic temporarily ignore
settings you've just sent them and return random values if you follow
the set by a get. This causes problems when you latter run a Tag-enabled
command when you've command tagged mode off.

25 years ago- Made the setting of the machdep.pccard.pcic_irq from the boot config file
nate [Fri, 26 Mar 1999 00:20:25 +0000 (00:20 +0000)]
- Made the setting of the machdep.pccard.pcic_irq from the boot config file
  actually work.

Reviewed by: "Sean O'Connell" <sean@stat.Duke.EDU>, msmith

25 years agoAllow port ranges in ``alias port''.
brian [Thu, 25 Mar 1999 23:36:25 +0000 (23:36 +0000)]
Allow port ranges in ``alias port''.

25 years agoenable 1080 LVD support
mjacob [Thu, 25 Mar 1999 22:53:56 +0000 (22:53 +0000)]
enable 1080 LVD support

25 years agoAdd in 1080 LVD support and some basis also for the 1240. The port database
mjacob [Thu, 25 Mar 1999 22:52:45 +0000 (22:52 +0000)]
Add in 1080 LVD support and some basis also for the 1240. The port database
printout is now enabled.

25 years agoroll internal tag level
mjacob [Thu, 25 Mar 1999 19:53:54 +0000 (19:53 +0000)]
roll internal tag level

25 years agoroll internal tag level
mjacob [Thu, 25 Mar 1999 19:47:33 +0000 (19:47 +0000)]
roll internal tag level

25 years agoRename when building libc_r.
dfr [Thu, 25 Mar 1999 18:43:17 +0000 (18:43 +0000)]
Rename when building libc_r.

25 years agoReplace a missing quote in the config for 3Com/USR/MegaHertz 3CCM156
cwt [Thu, 25 Mar 1999 16:37:33 +0000 (16:37 +0000)]
Replace a missing quote in the config for 3Com/USR/MegaHertz 3CCM156

25 years agoUndo possible damage done by the new TUNSIFMODE ioctl
brian [Thu, 25 Mar 1999 11:37:51 +0000 (11:37 +0000)]
Undo possible damage done by the new TUNSIFMODE ioctl
in FreeBSD-current.

25 years agoSync with sys/i386/isa/wd.c revision 1.190.
kato [Thu, 25 Mar 1999 08:29:32 +0000 (08:29 +0000)]
Sync with sys/i386/isa/wd.c revision 1.190.

25 years agoSync with sys/i386/isa/sio.c revision up to 1.231.
kato [Thu, 25 Mar 1999 08:26:50 +0000 (08:26 +0000)]
Sync with sys/i386/isa/sio.c revision up to 1.231.

25 years agoSync with sys/i386/conf/majors.i386 revision 1.69.
kato [Thu, 25 Mar 1999 08:25:45 +0000 (08:25 +0000)]
Sync with sys/i386/conf/majors.i386 revision 1.69.

25 years agoPacketAliasProxyRule takes a const char *
brian [Thu, 25 Mar 1999 06:48:05 +0000 (06:48 +0000)]
PacketAliasProxyRule takes a const char *
Reminded by: bde

25 years agoAdd Turtle Beach Malibu soundcard (and a sample config) to CARDS as
chuckr [Thu, 25 Mar 1999 04:25:38 +0000 (04:25 +0000)]
Add Turtle Beach Malibu soundcard (and a sample config) to CARDS as
a real example of a CS4237 soundcard.
Luigi said all contributions like this were welcome in this file.

25 years agoFix recurring typo: fine -> file
wpaul [Thu, 25 Mar 1999 00:52:44 +0000 (00:52 +0000)]
Fix recurring typo: fine -> file

25 years agoAdd support for Cardinal MVP288IV PnP modem.
steve [Thu, 25 Mar 1999 00:32:54 +0000 (00:32 +0000)]
Add support for Cardinal MVP288IV PnP modem.

Submitted by: Alex Zepeda <garbanzo@hooked.net>

25 years ago- Commit the correct dladdr() implementation.
nate [Wed, 24 Mar 1999 23:47:29 +0000 (23:47 +0000)]
- Commit the correct dladdr() implementation.

Reviewed by: jdp@FreeBSD.org <This is the version he reviewed!>

25 years ago- Added dladdr(3) support.
nate [Wed, 24 Mar 1999 23:37:35 +0000 (23:37 +0000)]
- Added dladdr(3) support.

Reviewed by: jdp@FreeBSD.org

25 years agoImplement TUNSIFMODE and TUNSLMODE.
des [Wed, 24 Mar 1999 21:20:12 +0000 (21:20 +0000)]
Implement TUNSIFMODE and TUNSLMODE.

Submitted by: Alfred Perlstein <bright@cygnus.rush.net>

25 years agoAdd some const-cleanliness and avoid some warnings.
brian [Wed, 24 Mar 1999 20:30:48 +0000 (20:30 +0000)]
Add some const-cleanliness and avoid some warnings.

25 years agoAllow port ranges when specifying -redirect_port.
brian [Wed, 24 Mar 1999 20:30:20 +0000 (20:30 +0000)]
Allow port ranges when specifying -redirect_port.

Submitted by: Wes Santee <wes@bogon.net>
PR: 9696

25 years agoAdd a ``const'' and remove some inconsistent prototype args.
brian [Wed, 24 Mar 1999 20:28:58 +0000 (20:28 +0000)]
Add a ``const'' and remove some inconsistent prototype args.

25 years agoAdd support for the USR3090 PnP modem.
steve [Wed, 24 Mar 1999 17:59:25 +0000 (17:59 +0000)]
Add support for the USR3090 PnP modem.

PR: 10773
Submitted by: Mike Durian <durian@boulderlabs.com>

25 years agoDefer the expansion of $PATTERN until it has a useful value and not
steve [Wed, 24 Mar 1999 17:06:47 +0000 (17:06 +0000)]
Defer the expansion of $PATTERN until it has a useful value and not
one that may have existed in the user's environment.

PR: 6795
Submitted by: Greg Lehey <grog@lemis.com>

25 years agoMention securelevel 3 to match comment in rc.conf.
ghelmer [Wed, 24 Mar 1999 14:07:33 +0000 (14:07 +0000)]
Mention securelevel 3 to match comment in rc.conf.

25 years agoadd missing #include "opt_bdg.h"
luigi [Wed, 24 Mar 1999 12:43:39 +0000 (12:43 +0000)]
add missing #include "opt_bdg.h"

25 years agoMove natd from network_pass3 to network_pass1
brian [Wed, 24 Mar 1999 10:28:49 +0000 (10:28 +0000)]
Move natd from network_pass3 to network_pass1

25 years agoDocument natd_program
brian [Wed, 24 Mar 1999 10:28:16 +0000 (10:28 +0000)]
Document natd_program

25 years agoAdd natd_program and change a comment.
brian [Wed, 24 Mar 1999 10:27:46 +0000 (10:27 +0000)]
Add natd_program and change a comment.

25 years agoCosmetic changes for troff output
grog [Wed, 24 Mar 1999 09:22:06 +0000 (09:22 +0000)]
Cosmetic changes for troff output

Long-wished-by: joerg
Clarify yet again how to perform a newfs on a vinum volume.

25 years agoAdd a tutorial-like section "How to set up Vinum"
grog [Wed, 24 Mar 1999 09:18:33 +0000 (09:18 +0000)]
Add a tutorial-like section "How to set up Vinum"

25 years agoAdded a number of device names: Konica, Microsoft, Macally
n_hibma [Wed, 24 Mar 1999 07:46:53 +0000 (07:46 +0000)]
Added a number of device names: Konica, Microsoft, Macally

25 years agoUpdate Specialix download microcode for the transputer based serial host
peter [Wed, 24 Mar 1999 02:49:43 +0000 (02:49 +0000)]
Update Specialix download microcode for the transputer based serial host
cards from the 3.0-beta to 3.0.4 release.

Submitted-by: Nick Sayer <nsayer@quack.kfu.com>
PR: 10674

25 years agoFix a (relatively harmless) braino. I confused myself over the for() loop
peter [Wed, 24 Mar 1999 02:43:05 +0000 (02:43 +0000)]
Fix a (relatively harmless) braino.  I confused myself over the for() loop
that counted the number of elements in argv.  The counter is incremented
in the next-iteration section of the loop, not the body, so at termination
it's already "counted" the element that failed the continuation test - in
this case the NULL argv terminator.

Noted by:  bde

25 years ago'start' command: check that the objects in question aren't already up,
grog [Wed, 24 Mar 1999 00:45:47 +0000 (00:45 +0000)]
'start' command: check that the objects in question aren't already up,
and produce an intelligble message if they are.

25 years agoCorrect the text of an obscure error message.
grog [Wed, 24 Mar 1999 00:43:05 +0000 (00:43 +0000)]
Correct the text of an obscure error message.

25 years agoCorrect ioctl calls VINUM_STARTCONFIG. The last commit broke the
grog [Tue, 23 Mar 1999 23:24:00 +0000 (23:24 +0000)]
Correct ioctl calls VINUM_STARTCONFIG.  The last commit broke the
'vinum start' command.

25 years agoRemove duplicate line.
billf [Tue, 23 Mar 1999 23:01:15 +0000 (23:01 +0000)]
Remove duplicate line.

Reviewed by: eivind

25 years agoCheck whether the PIRQD enable bit is set in LegSup and if not, set it.
n_hibma [Tue, 23 Mar 1999 21:37:45 +0000 (21:37 +0000)]
Check whether the PIRQD enable bit is set in LegSup and if not, set it.
On my PIIX4 chip rev 1 this is required. Have not had any complaints from
other people so it might be a problem with this stepping.

25 years ago1) clean up debugging output
n_hibma [Tue, 23 Mar 1999 21:35:57 +0000 (21:35 +0000)]
1) clean up debugging output
2) remove erroneous querying of PCI LegSup register while it should be
   fetched from PCI config space
3) change name of define for this register

25 years agoCall the module's unload handler before removing the device from the
dfr [Tue, 23 Mar 1999 21:11:47 +0000 (21:11 +0000)]
Call the module's unload handler before removing the device from the
cdevsw list.  This allows a handler to veto the load without losing its
place in the list.

PR: kern/10653

25 years agoRemove last remaining references to malloc/realloc and functions that
peter [Tue, 23 Mar 1999 16:40:34 +0000 (16:40 +0000)]
Remove last remaining references to malloc/realloc and functions that
call them.  All the execX() libc functions should be vfork() safe now.
Specifically:
- execlp() does the argument count-and-build into a vector from alloca
    (like the others) - buildargv() is no longer used (and gone).
- execvp() uses alloca/strcpy rather than strdup().
- the ENOEXEC handler uses alloca rather than malloc.
- a couple of free() calls removed - alloca works on the local stack and
    the allocations are freed on function exit (which is why buildargv
    wasn't useful - it's alloca() context would disappear on return).
Along the way:
- If alloca() fails (can it?), set errno = ENOMEM explicitly.
- The ENOEXEC recovery routine that trys again with /bin/sh appeared to
    not be terminating the new argv[] array for /bin/sh, allowing it to
    walk off the end of the list.

I dithered a bit about using alloca() even more as it's most commonly
associated with gcc.  However, standalone portable (using malloc) and
machine-specific assembler alloca implementations appear to be available
on just about all the architectures we're likely to want to port to.
alloca will be the least of our problems if ever going to another compiler.

25 years agoAdd a sysctl variable which can help stop chroot(2) escapes.
phk [Tue, 23 Mar 1999 14:26:40 +0000 (14:26 +0000)]
Add a sysctl variable which can help stop chroot(2) escapes.

kern.chroot_allow_open_directories = 0
chroot(2) fails if there are open directories.

kern.chroot_allow_open_directories = 1 (default)
chroot(2) fails if there are open directories and the process
is subject of a previous chroot(2).

kern.chroot_allow_open_directories = anything else
filedescriptors are not checked.  (old behaviour).

I'm very interested in reports about software which breaks when
running with the default setting.

25 years agoFix some nasty hangs if garbage were passed.
phk [Tue, 23 Mar 1999 14:23:15 +0000 (14:23 +0000)]
Fix some nasty hangs if garbage were passed.

Noticed by: Emmanuel DELOGET <pixel@DotCom.FR>
Remembered by: msmith

25 years agoFixed a couple of missing drive selects in wdreset(). This mainly
bde [Tue, 23 Mar 1999 10:22:19 +0000 (10:22 +0000)]
Fixed a couple of missing drive selects in wdreset().  This mainly
affects cases where there is a slave but no master.  These bugs
were usually recovered from provided ATAPI was configured, but only
after lengthy delays.  Configuring ATAPI still fixes some bugs for
non-atapi drives.

Don't wait for seek complete in wdreset().  If necessary for pre-ata
drives, it can be waited for later (we got it wrong by only looking
at it for drive 0 anyway).  It is set as part of a historical
signature for ata drives but doesn't say anything useful about the
reset state.  It is cleared as part of a non-historical signature
for atapi drives so that drivers which don't understand atapi drives
seem to see no drive.  Waiting for it caused lengthy delays and
broke the status returned by wdreset() in cases where the master
was not an ata drive.  Then the whole wdprobe() failed in some
cases where the recovery code didn't work.

Don't wait for drive ready in wdreset().  The considerations are
the same as for seek complete, except drive ready does say something
useful about the reset state of ata drives, and waiting for it
later is required anyway for such drives.

Lengthy delays can now be avoided by not configuring nonexistent
(ata) drives.  Unfortunately, this breaks detection of atapi drives
in some configurations.

25 years agoSet X11BASE to something deliberately bogus in elf_buildworld so that
jkh [Tue, 23 Mar 1999 08:09:25 +0000 (08:09 +0000)]
Set X11BASE to something deliberately bogus in elf_buildworld so that
it doesn't link with a.out X11 libs.

Noticed by: Arno J. Klaassen <arno@heho.snv.jussieu.fr>

25 years agoFix a typo.
gibbs [Tue, 23 Mar 1999 07:27:38 +0000 (07:27 +0000)]
Fix a typo.

PR: 10722
Submitted by: Chris Costello <chris@holly.dyndns.org>

25 years agoAdd support for the 3950U2B controller.
gibbs [Tue, 23 Mar 1999 07:26:41 +0000 (07:26 +0000)]
Add support for the 3950U2B controller.

Recognize aic7895 controllers that have been "acquired" by a RAIDPort
card as normal aic7895s.

Recognize the aic7815 Raid Parity/Memory controller chip and notify
the user that it's RAID functionality will be ignored.

25 years agoUse TCL_CHANNEL/SCSI_ID/etc. macros in more locations.
gibbs [Tue, 23 Mar 1999 07:24:29 +0000 (07:24 +0000)]
Use TCL_CHANNEL/SCSI_ID/etc. macros in more locations.

Don't mess with the IRQMS bit in the host control register unless
we are an aic7770 chip.

Use calling context to determine if the card is already paused when
we update the target message request bit field in controller scratch
ram.  Looking at the paused bit in the HCNTRL register opened up a
race condition.

Insert delays in the target message request update routine as a temporary
work around for what looks like a chip bug.  I'm still investigating this
one.

Fix the Abort/Abort Tag/BDR handler to pull its message from the message
buffer in our softc instead of attempting to get it from a register on
the controller.  The message is never recorded by the controller in the
new message scheme.

Don't rely on having an SCB when a BDR occurs.  We can issue these during
invalid reconnects to.

Fix a few cases where we were restarting the sequencer but then still
falling out of a switch statement to unpause the sequencer again.
This could cause us to mess up sequencer state if it generated another
pausing interrupt between the time of the restart and unpause.

Kill the 'transceiver settle' loop during card initialization.  I
failed to realize that a controller that is not connected to any
cables will never settle or enable the SCSI transceivers at all.
The correct solution is to monitor the IOERR interrupt which indicates
that the transceiver state has changed (UW<->LVD).

Modify the aic7xxx assembler to properly echo input when stdin is not
a tty.

25 years ago o Runnable threads are now maintained in priority queues. The
jb [Tue, 23 Mar 1999 05:11:30 +0000 (05:11 +0000)]
  o Runnable threads are now maintained in priority queues.  The
    implementation requires two things:

      1.) The priority queues must be protected during insertion
          and removal of threads.  Since the kernel scheduler
          must modify the priority queues, a spinlock for
          protection cannot be used.   The functions
          _thread_kern_sched_defer() and _thread_kern_sched_undefer()
          were added to {un}defer kernel scheduler activation.

      2.) A thread (active) priority change can be performed only
          when the thread is removed from the priority queue.  The
          implementation uses a threads active priority when
          inserting it into the queue.

    A by-product is that thread switches are much faster.  A
    separate queue is used for waiting and/or blocked threads,
    and it is searched at most 2 times in the kernel scheduler
    when there are active threads.  It should be possible to
    reduce this to once by combining polling of threads waiting
    on I/O with the loop that looks for timed out threads and
    the minimum timeout value.

  o Functions to defer kernel scheduler activation were added.  These
    are _thread_kern_sched_defer() and _thread_kern_sched_undefer()
    and may be called recursively.  These routines do not block the
    scheduling signal, but latch its occurrence.  The signal handler
    will not call the kernel scheduler when the running thread has
    deferred scheduling, but it will be called when running thread
    undefers scheduling.

  o Added support for _POSIX_THREAD_PRIORITY_SCHEDULING.  All the
    POSIX routines required by this should now be implemented.
    One note, SCHED_OTHER, SCHED_FIFO, and SCHED_RR are required
    to be defined by including pthread.h.  These defines are currently
    in sched.h.  I modified pthread.h to include sched.h but don't
    know if this is the proper thing to do.

  o Added support for priority protection and inheritence mutexes.
    This allows definition of _POSIX_THREAD_PRIO_PROTECT and
    _POSIX_THREAD_PRIO_INHERIT.

  o Added additional error checks required by POSIX for mutexes and
    condition variables.

  o Provided a wrapper for sigpending which is marked as a hidden
    syscall.

  o Added a non-portable function as a debugging aid to allow an
    application to monitor thread context switches.  An application
    can install a routine that gets called everytime a thread
    (explicitly created by the application) gets context switched.
    The routine gets passed the pthread IDs of the threads that are
    being switched in and out.  I found this useful, but we can
    get rid of it if you want.

Submitted by: Dan Eischen <eischen@vigrid.com>

25 years ago [ The author's description... ]
jb [Tue, 23 Mar 1999 05:07:56 +0000 (05:07 +0000)]
  [ The author's description... ]

  o Runnable threads are now maintained in priority queues.  The
    implementation requires two things:

      1.) The priority queues must be protected during insertion
          and removal of threads.  Since the kernel scheduler
          must modify the priority queues, a spinlock for
          protection cannot be used.   The functions
          _thread_kern_sched_defer() and _thread_kern_sched_undefer()
          were added to {un}defer kernel scheduler activation.

      2.) A thread (active) priority change can be performed only
          when the thread is removed from the priority queue.  The
          implementation uses a threads active priority when
          inserting it into the queue.

    A by-product is that thread switches are much faster.  A
    separate queue is used for waiting and/or blocked threads,
    and it is searched at most 2 times in the kernel scheduler
    when there are active threads.  It should be possible to
    reduce this to once by combining polling of threads waiting
    on I/O with the loop that looks for timed out threads and
    the minimum timeout value.

  o Functions to defer kernel scheduler activation were added.  These
    are _thread_kern_sched_defer() and _thread_kern_sched_undefer()
    and may be called recursively.  These routines do not block the
    scheduling signal, but latch its occurrence.  The signal handler
    will not call the kernel scheduler when the running thread has
    deferred scheduling, but it will be called when running thread
    undefers scheduling.

  o Added support for _POSIX_THREAD_PRIORITY_SCHEDULING.  All the
    POSIX routines required by this should now be implemented.
    One note, SCHED_OTHER, SCHED_FIFO, and SCHED_RR are required
    to be defined by including pthread.h.  These defines are currently
    in sched.h.  I modified pthread.h to include sched.h but don't
    know if this is the proper thing to do.

  o Added support for priority protection and inheritence mutexes.
    This allows definition of _POSIX_THREAD_PRIO_PROTECT and
    _POSIX_THREAD_PRIO_INHERIT.

  o Added additional error checks required by POSIX for mutexes and
    condition variables.

  o Provided a wrapper for sigpending which is marked as a hidden
    syscall.

  o Added a non-portable function as a debugging aid to allow an
    application to monitor thread context switches.  An application
    can install a routine that gets called everytime a thread
    (explicitly created by the application) gets context switched.
    The routine gets passed the pthread IDs of the threads that are
    being switched in and out.

Submitted by: Dan Eischen <eischen@vigrid.com>

Changes by me:

  o Added a PS_SPINBLOCK state to deal with the priority inversion
    problem most often (I think) seen by threads calling malloc/free/realloc.

  o Dispatch signals to the running thread directly rather than at a
    context switch to avoid the situation where the switch never occurs.

25 years agoTypo fix.
jkoshy [Tue, 23 Mar 1999 05:01:11 +0000 (05:01 +0000)]
Typo fix.

PR: docs/10733
Submitted by: Steve Coltrin <spcoltri@io.com>

25 years agoDescribe the new semantics of 'create':
grog [Tue, 23 Mar 1999 04:55:50 +0000 (04:55 +0000)]
Describe the new semantics of 'create':

  When creating a new drive, if the drive already has a vinum label,
  and name doesn't match the specified drive, do it anyway if the
  'force' flag is specified.

Continually-tripped-over-by: Karl Pielorz <kpielorz@tdx.co.uk>
Update information about partition type for Vinum drives.  They
*should* be of type 'vinum', but currently we still accept (and
complain about) partitions of type 'unused'.  At a later date, only
'vinum' will be accepted.

Threatened-since: over a year

25 years agoPrint correct message if the wrong module is loaded.
grog [Tue, 23 Mar 1999 04:55:23 +0000 (04:55 +0000)]
Print correct message if the wrong module is loaded.

25 years agovinum_create: pass 'force' flag to ioctl VINUM_STARTCONFIG.
grog [Tue, 23 Mar 1999 04:54:59 +0000 (04:54 +0000)]
vinum_create: pass 'force' flag to ioctl VINUM_STARTCONFIG.
Semantics:

  When creating a new drive, if the drive already has a vinum label,
  and name doesn't match the specified drive, do it anyway if the
  'force' flag is specified.

Continually-tripped-over-by: Karl Pielorz <kpielorz@tdx.co.uk>
25 years agoChange the definition of VINUM_STARTCONFIG to take an int write parameter.
grog [Tue, 23 Mar 1999 04:50:40 +0000 (04:50 +0000)]
Change the definition of VINUM_STARTCONFIG to take an int write parameter.

25 years agoAdd flag VF_FORCECONFIG for use by the config_drive and friends.
grog [Tue, 23 Mar 1999 04:49:32 +0000 (04:49 +0000)]
Add flag VF_FORCECONFIG for use by the config_drive and friends.

25 years agovinum_start:
grog [Tue, 23 Mar 1999 04:49:08 +0000 (04:49 +0000)]
vinum_start:
  remove the splbio() around the call to launch read requests.

launch_requests:
  Move the splbio() protection outside the entire launch_loop.  The
  previous location was causing problems with IDE drives, where the
  call to the strategy routine often did not complete until after
  complete_rqe deallocated the request structure.

Solution-independently-found-by: Russell Neeper <r-neeper@tamu.edu>
Problem-reported-by: Vallo Kallaste <vallo@matti.ee>
     John Saunders <john@nlc.net.au>
     Bernd Walter <ticso@cicely.de> (maybe)

25 years agoVINUM_STARTCONFIG:
grog [Tue, 23 Mar 1999 04:48:31 +0000 (04:48 +0000)]
VINUM_STARTCONFIG:
  Pass the 'data' parameter to start_config, which uses it as the
  parameter 'force.

25 years agoinit_drive:
grog [Tue, 23 Mar 1999 04:48:05 +0000 (04:48 +0000)]
init_drive:
  Check for partition types FS_VINUM and FS_UNUSED.  Accept both, but
  complain about FS_UNUSED.  At a later date, only FS_VINUM will be
  accepted.

Threatened-since: over a year

25 years agoChange the declaration of start_config.
grog [Tue, 23 Mar 1999 04:47:33 +0000 (04:47 +0000)]
Change the declaration of start_config.

25 years agostart_config:
grog [Tue, 23 Mar 1999 04:47:09 +0000 (04:47 +0000)]
start_config:
  Add a flag `force' (VF_FORCECONFIG) to force name changes of
  existing drives.
config_drive:
  If the drive already has a vinum label, and name doesn't match the
  specified drive, do it anyway if the 'force' flag is specified.
finish_config:
  Reset the `force' flag.

Continually-tripped-over-by: Karl Pielorz <kpielorz@tdx.co.uk>
give_sd_to_drive:
  If the drive is down, take the subdisk down and don't try to fix
  things.

update_plex_config:
  Don't try to update the config parameters of a plex which isn't
  fully configured (state plex_init or plex_unallocated).

  Correctly calculate the amount to trim off a striped or RAID-5 plex
  whose size is not a multiple of the stripe size.

25 years agoAdd partition type for Vinum.
grog [Tue, 23 Mar 1999 04:08:42 +0000 (04:08 +0000)]
Add partition type for Vinum.

Offered-for-inspection-to: jkh
25 years agoSimplified using new SYMLINKS macro, mainly to test this macro. The
bde [Tue, 23 Mar 1999 03:41:09 +0000 (03:41 +0000)]
Simplified using new SYMLINKS macro, mainly to test this macro.  The
ifdefs are too ugly for this to be much of a simplification.  The
existence tests are even uglier now.  Note that the previous commit
was not submitted by me.  It missed the point and just added a second
layer of unused removals.

Fixed hard-coded "libcrypt"s.  The LCRYPTBASE macro mainly makes
things hard to read, but use it while we have it.

25 years agoRemoved all traces of LN_FLAGS. It was only used to produce a link
bde [Tue, 23 Mar 1999 03:06:25 +0000 (03:06 +0000)]
Removed all traces of LN_FLAGS.  It was only used to produce a link
/usr/sbin/sysctl -> ${DESTDIR}/sbin/sysctl in some versions of 2.2,
and this link was broken if DESTDIR was set.

Added a SYMLINKS macro.  This works the same as LINKS, except it
creates symlinks and the linked-to pathname may be relative.  This
is more flexible than LN_FLAGS, since it supports installing
symlinks independently of hard links.

Use `ln -f[s] ...' instead of `rm -f ...; ln [-s] ...' for LINKS and
SYMLINKS.  This is equivalent if the target is neither a directory nor
a symlink to a directory.

PR: 8279

25 years agoTypo fix (set --> get).
alex [Mon, 22 Mar 1999 23:13:37 +0000 (23:13 +0000)]
Typo fix (set --> get).

Obtained from: OpenBSD (David Leonard)

25 years agoCosmetical changes.
n_hibma [Mon, 22 Mar 1999 19:58:59 +0000 (19:58 +0000)]
Cosmetical changes.

25 years agoImplementation of the keyboard driver.
n_hibma [Mon, 22 Mar 1999 19:55:30 +0000 (19:55 +0000)]
Implementation of the keyboard driver.

Done by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>

25 years agoMoved timeout initialisation a bit earlier in the process. The
n_hibma [Mon, 22 Mar 1999 19:52:28 +0000 (19:52 +0000)]
Moved timeout initialisation a bit earlier in the process. The
untimeout function triggered panics once in a while.

25 years agoMake the same size rounding error both ways.
phk [Mon, 22 Mar 1999 14:01:58 +0000 (14:01 +0000)]
Make the same size rounding error both ways.

25 years agoNuke old copies of /usr/include/timepps.h
phk [Mon, 22 Mar 1999 12:58:15 +0000 (12:58 +0000)]
Nuke old copies of /usr/include/timepps.h

25 years agoAddress our users in a civilized manner. (They may know better, but probably
phk [Mon, 22 Mar 1999 10:38:07 +0000 (10:38 +0000)]
Address our users in a civilized manner.  (They may know better, but probably
just forgot it, it is certainly no reason to don't insult them.)

25 years agoDisplay floats with format %*.0f instead of as "*****" if there is
bde [Mon, 22 Mar 1999 03:44:01 +0000 (03:44 +0000)]
Display floats with format %*.0f instead of as "*****" if there is
enough space for this but not enough space for the normal %*.*f
format.  Similarly for long doubles.

25 years agofix conflicts.
obrien [Mon, 22 Mar 1999 01:29:39 +0000 (01:29 +0000)]
fix conflicts.

25 years agoUpdate to latest version.
obrien [Mon, 22 Mar 1999 01:28:54 +0000 (01:28 +0000)]
Update to latest version.

25 years agoThis commit was generated by cvs2svn to compensate for changes in r44930,
obrien [Mon, 22 Mar 1999 01:26:43 +0000 (01:26 +0000)]
This commit was generated by cvs2svn to compensate for changes in r44930,
which included commits to RCS files with non-trunk default branches.