Bruce Evans [Sun, 13 Apr 2003 14:21:56 +0000 (14:21 +0000)]
Oops. Back out a style "fix" in the previous commit. SRCS must be defined
although there is only one file in it because the file is misnamed main.c
so the default of isdntest.c doesn't work.
Ruslan Ermilov [Sun, 13 Apr 2003 11:42:55 +0000 (11:42 +0000)]
Install bootstrap-tools into a separate subtree of ${WORLDTMP}.
This allows us to use them as early as possible while building
bootstrap-, build-, and cross-tools. Some cleanups to follow.
This change resolves the gperf(1) bootstrapping issue (missing
-E option) in gnu/usr.bin/cc/cc1plus while in the cross-tools
stage when upgrading from 4.0-RELEASE.
Bruce Evans [Sun, 13 Apr 2003 08:47:30 +0000 (08:47 +0000)]
Include <signal.h> instead of depending on namespace pollution in
<sys/param.h>. Include <sys/types.h> instead of of <sys/param.h>
so that further such dependencies don't develop.
Jeff Roberson [Sat, 12 Apr 2003 22:33:24 +0000 (22:33 +0000)]
- Unbreak priority prop. for timeshare threads. Always place something on
the current queue if its priority is really elevated. This needs more work
as there are cases where a next queue kse could be holding up what would
be a curr queue kse, and thus hurting interactivity. Also, when a thread
with an elevated priority has its priority lowered it should be placed
back on the next queue.
Ruslan Ermilov [Sat, 12 Apr 2003 15:07:46 +0000 (15:07 +0000)]
Make sure legacy stuff comes last. Some tools that use
legacy stuff (binutils) depend on this order.
For this to work, provide (and use) specialized versions
of bsd.prog.mk and bsd.lib.mk that include the standard
versions first, then augment CFLAGS, DPADD, LDADD, and
LDFLAGS as necessary, with the legacy stuff.
Bruce A. Mah [Sat, 12 Apr 2003 15:07:04 +0000 (15:07 +0000)]
Slight reorganization of the release notes: Make the contributed
software section and ports/packages infrastructure section be sect2
level sections (instead of sect3 under userland). Combine the
kernel/contributed and userland/contributed entries into the new sect2
contributed section.
The main point of doing this is that the distinction between kernel
and userland is largely irrelevent for contributed software, and
doesn't apply well to things such as IPFilter and KAME, which have
both kernel and userland components.
Tim J. Robbins [Sat, 12 Apr 2003 10:39:56 +0000 (10:39 +0000)]
Display residency and sleep times (re and sl fields) larger than 127 as 127.
This is what the manual page says ps should do, and what OpenBSD and NetBSD do.
Based on a patch from Ken Stailey.
Tim J. Robbins [Sat, 12 Apr 2003 04:17:14 +0000 (04:17 +0000)]
Mention the environment variables that affect the execution of uniq.
Of particular interest is the fact that LC_COLLATE affects how uniq
determines whether lines are equal. This was the subject of a fairly heated
debate a year or so ago, and it turns out that the current behaviour is
correct and that the standard contained an error.
Now that the standard has been corrected by Cor. 1-2002, refer to 1003.1-2001
instead of the 1992 edition in the Standards section.
Tim J. Robbins [Sat, 12 Apr 2003 03:20:28 +0000 (03:20 +0000)]
Document the -L and -P options to the cd and pwd commands as being
mutually exclusive. The fact that the most recent one specified on the
command line is the one that takes effect is an implementation detail and
users should not rely on this.
Kelly Yancey [Sat, 12 Apr 2003 01:57:04 +0000 (01:57 +0000)]
Fix race between a process registering a NOTE_EXIT EVFILT_PROC event and
the target process exiting which causes attempts to register the kevent
to randomly fail depending on whether the target runs to completion before
the parent can call kevent(2). The bug actually effects EVFILT_PROC
events on any zombie process, but the most common manifestation is with
parents trying to monitor child processes.
Jeff Roberson [Fri, 11 Apr 2003 18:37:34 +0000 (18:37 +0000)]
- When migrating a kse from one kseq to the next actually insert it onto
the second kseq's run queue so that it is referenced by the kse when
it is switched out.
- Spell ksq_rslices properly.
Add new sysctl MIB (hw.acpi.supported_sleep_state) to indicate
the list of supported sleep state.
This should help people understand what following message means.
Maxime Henrion [Fri, 11 Apr 2003 12:52:52 +0000 (12:52 +0000)]
- Call ether_ifdetach() before shutting down the hardware.
- Remove a useless device_is_alive() check.
- Disable interrupts if bus_child_present() so that this
check is more useful.
This fixes the hangs I was seeing when unloading the fxp driver.
Jeff Roberson [Fri, 11 Apr 2003 03:47:14 +0000 (03:47 +0000)]
- Add a SYSCTL node for the ule scheduler.
- Allow user adjustable min and max time slices (suggested by hiten).
- Change the SLP_RUN_MAX to 100ms from 2 seconds so that we learn whether a
process is interactive or not much more quickly.
- Place a process on the current run queue if it is interactive or if it is
running at an interrupt thread priority due to priority prop.
- Use the 'current' timeshare queue for interrupt threads, realtime threads,
and idle threads that are running at higher priority due to priority prop.
This fixes problems where priorities would have been elevated but we would
not check the timeshare run queue until other lower priority tasks were
no longer runnable.
- Keep an array of loads indexed by the priority class as well as a global
load.
- Keep an bucket of nice values with a count of the number of kses currently
runnable with that nice value.
- Keep track of the minimum nice value of any running thread.
- Remove the unused short term sleep accounting. I was attempting to use
this for load balancing but it didn't work out.
- Define a kseq_print() for use with debugging.
- Add KTR debugging at useful places so we can easily debug slice and
priority assignment.
- Decouple the runq assignment from the kseq assignment. kseq_add now keeps
track of statistics. This is done so that the nice and load is still
tracked for the currently running process. Previously if a niced process
was added while a non nice process was running the niced process would
still get a slice since it was not aware of the unnice process.
- Make adjustments for the sched api changes.
Jeff Roberson [Fri, 11 Apr 2003 03:39:07 +0000 (03:39 +0000)]
- Adjust sched hooks for fork and exec to take processes as arguments instead
of ksegs since they primarily operation on processes.
- KSEs take ticks so pass the kse through sched_clock().
- Add a sched_class() routine that adjusts a ksegrp pri class.
- Define a sched_fork_{kse,thread,ksegrp} and sched_exit_{kse,thread,ksegrp}
that will be used to tell the scheduler about new instances of these
structures within the same process. These will be used by THR and KSE.
- Change sched_4bsd to reflect this API update.
Maxime Henrion [Thu, 10 Apr 2003 23:15:12 +0000 (23:15 +0000)]
- Clean up the fxp_release() and fxp_detach() functions.
- Be sure to teardown the interrupt first so that "kldunload if_fxp"
doesn't panic the box. It's now deadlocking rather than crashing,
which isn't really better, but I'm unsure this is fxp(4)'s fault.
- Change a bus_dmamap_sync() call to also do a BUS_DMASYNC_PREREAD
now that we can pass several operations.
Convert the SMP_TSC kernel option into a loader tunable. Also enable
the TSC timecounter on single-CPU systems even when they are running
an SMP kernel.
Maxime Henrion [Thu, 10 Apr 2003 23:03:33 +0000 (23:03 +0000)]
Change the operation parameter of bus_dmamap_sync() from an
enum to an int and redefine the BUS_DMASYNC_* constants as
flags. This allows us to specify several operations in one
call to bus_dmamap_sync() as in NetBSD.
Quote authname and authkey. Some ISPs allow (or even require)
non-alphanumeric characters in these and this will be a hint to the
users that quotes can and should be used in such cases.
Robert Watson [Thu, 10 Apr 2003 20:33:10 +0000 (20:33 +0000)]
Remove a potential panic condition introduced by reduced TCP wait
state. Those changed attempted to work around the changed invariant
that inp->in_socket was sometimes now NULL, but the logic wasn't
quite right, meaning that inp->in_socket would be dereferenced by
cr_canseesocket() if security.bsd.see_other_uids, jail, or MAC
were in use. Attempt to clarify and correct the logic.
Note: the work-around originally introduced with the reduced TCP
wait state handling to use cr_cansee() instead of cr_canseesocket()
in this case isn't really right, although it "Does the right thing"
for most of the cases in the base system. We'll need to address
this at some point in the future.
Andrew Gallatin [Thu, 10 Apr 2003 20:32:29 +0000 (20:32 +0000)]
Enable loadable modules to be unloaded on alphas with shared isa
interrupts by only disabling the interrupt in hardware if
the handler being removed is the only handler.
John Baldwin [Thu, 10 Apr 2003 18:42:06 +0000 (18:42 +0000)]
- Kill the pv_flags member of the alpha mdpage since it stop being used
in rev 1.61 of pmap.c.
- Now that pmap_page_is_free() is empty and since it is just a hack for
the Alpha pmap, remove it.
Move the _oncpu entry from the KSE to the thread.
The entry in the KSE still exists but it's purpose will change a bit
when we add the ability to lock a KSE to a cpu.
Warner Losh [Thu, 10 Apr 2003 07:35:19 +0000 (07:35 +0000)]
SMC 8041 is the same thing as LINKSYS COMBO_ECARD, so no extra entry
is required. NetBSD has one because it checks for the mac address
match as well wanting to give its own string in the description.
Since we do neither, we don't need a separate entry.
# I suspect that a few of the COREGA cards might fall into that category
# as well, but since I don't have access to any of them it is hard to know
# for sure.