92787 Commits

Author SHA1 Message Date
peter
1c887bc40f Deal with 'options KSTACK_PAGES' being a global option. 2003-07-31 01:31:32 +00:00
peter
19f0a8f822 Cosmetic: fix some disorder of #include "opt_...." files 2003-07-31 01:29:09 +00:00
peter
827caad7ba Remove leftover relic of pmap_new_thread() etc. 2003-07-31 01:28:41 +00:00
peter
c7106c6a3c KSTACK_PAGES is a global option. 2003-07-31 01:27:18 +00:00
peter
a6f20d5795 Cosmetic: fix disorder of opt_kstack_pages.h include. 2003-07-31 01:26:40 +00:00
peter
6dab4e8092 Add #include "opt_kstack_pages.h" and "opt_kstack_max_pages.h" to remain
in sync with the backend machdep code.  When cpu_thread_init() does not
have the same idea of KSTACK_PAGES as the thing that created the kstack,
all hell breaks loose.

Bad alc! no cookie! :-)
2003-07-31 01:25:05 +00:00
marcel
12712482f7 In cpu_thread_setup(), set md_pcbpaddr to the physical address of
the pcb. We use the physical address for context switching.
While here, fix a nearby style(9) bug.
2003-07-31 01:05:34 +00:00
davidxu
176657958f Use correct signal when calling sigexit. 2003-07-30 23:11:37 +00:00
pb
edb5fbc5cc Remove test in pipe_write() which causes write(2) to return EAGAIN
on a non-blocking pipe in cases where select(2) returns the file
descriptor as ready for write. This in turns causes libc_r, for
one, to busy wait in such cases.

Note: it is a quick performance fix, a more complex fix might be
required in case this turns out to have unexpected side effects.

Reviewed by:	silby
MFC after:	3 days
2003-07-30 22:50:37 +00:00
scottl
72fb563d45 Enforce -fno-strict-aliasing to override the converse that is implied by
-O2 and -Os.

Reviewed by:	peter
2003-07-30 22:11:36 +00:00
jhb
097409346f Whitespace nit. 2003-07-30 20:59:36 +00:00
jhb
97e378fb00 When complaining about a sleeping thread owning a mutex, display the
thread's pid to make debugging easier for people who don't want to have to
use the intended tool for these panics (witness).

Indirectly prodded by:	kris
2003-07-30 20:42:15 +00:00
bde
7cf11d8bc8 Fixed style bugs in rev.1.94 before MFCing it (for large C asm statements,
use "\n\" instead of "\" at the end of each source line, and don't use
semicolons).  Fixed some older style bugs on the same lines (mainly
English errors in comments).
2003-07-30 20:16:04 +00:00
gallatin
d9d2001c48 Make this at least compile on 64 bit platforms. Its been breaking
the alpha tinderbox for far too long.
2003-07-30 20:09:22 +00:00
mtm
68ebedbe5d Apply some sort of order to the FILES list. 2003-07-30 20:05:20 +00:00
mtm
1a8b3fdc54 Add two files (early.sh and gbde) that previously were not
hooked up to the build.
2003-07-30 19:53:40 +00:00
bmilekic
7c379c85d8 Plug a race and a leak in UMA.
1) The race has to do with zone destruction.  From the zone destructor we
   would lock the zone, set the working set size to 0, then unlock the zone,
   drain it, and then free the structure.  Within the window following the
   working-set-size set to 0 and unlocking of the zone and the point where
   in zone_drain we re-acquire the zone lock, the uma timer routine could
   have fired off and changed the working set size to something non-zero,
   thereby potentially preventing us from completely freeing slabs before
   destroying the zone (and thus leaking them).

2) The leak has to do with zone destruction as well.  When destroying a
   zone we would take care to free all the buckets cached in the zone, but
   although we would drain the pcpu cache buckets, we would not free them.
   This resulted in leaking a couple of bucket structures (512 bytes each)
   per cpu on SMP during zone destruction.

While I'm here, also silence GCC warnings by turning uma_slab_alloc()
from inline to real function.  It's too big to be an inline.

Reviewed by: JeffR
2003-07-30 18:55:15 +00:00
alc
fc6d1980cc The introduction of vm object locking has caused witness to reveal
a long-standing mistake in the way a portion of a pipe's KVA is
allocated.  Specifically, kmem_alloc_pageable() is inappropriate
for use in the "direct" case because it allows a preceding vm map entry
and vm object to be extended to support the new KVA allocation.
However, the direct case KVA allocation should not have a backing
vm object.  This is corrected by using kmem_alloc_nofault().

Submitted by:	tegge (with the above explanation by me)
2003-07-30 18:55:04 +00:00
mtm
244ab33e17 tty whacking should occur early, but not so early that the
required commands are not on a mounted file system.

Noticed by: bde
2003-07-30 18:53:59 +00:00
njl
b1c3709a1f Use ACPI_FLUSH_CPU_CACHE() instead of wbinvd(). Verified .o with md5.
Pointed out by:	Mark Santcroos <marks@ripe.net>
2003-07-30 17:20:33 +00:00
tmm
90017ec408 Return 1 from pmap_protect_tte() instead of 0. When used with
tsb_foreach(), 0 signals to terminate the tsb traversal, so when
tsb_foreach() was used in pmap_protect() (which only happens when
the area to be protected is larger than PMAP_TSB_THRESH = 16MB), only
the first tsb entry in the specified range would be protected.

Reported by:	Andrew Belashov <bel@orel.ru>
2003-07-30 16:27:51 +00:00
njl
bcbbd9ea9e Add and document the hw.acpi.ec.poll_timeout tunable. 2003-07-30 16:22:53 +00:00
harti
a622581f06 Fix the code with respect to the assumption that sizeof(long) == 4. 2003-07-30 16:15:49 +00:00
harti
4a8d15f796 Fix what was a common idiom in PDP-11 days: declare a local int and
use the address of that int for read(2). While this happens to work on
LE, it surely is wrong on BE.
2003-07-30 16:02:50 +00:00
harti
6fb9d3d7f5 Make this compile with WARNS=6. 2003-07-30 15:58:08 +00:00
bmilekic
260d19ed7e When generating the zone stats make sure to handle the master zone
("UMA Zone") carefully, because it does not have pcpu caches allocated
at all.  In the UP case, we did not catch this because one pcpu cache
is always allocated with the zone, but for the MP case, we were getting
bogus stats for this zone.

Tested by: Lukas Ertl <le@univie.ac.at>
2003-07-30 15:22:37 +00:00
harti
0d4bdece59 Fix warnings: a variable that was unused, a variable that
was unused unless sun was defined and printing of u_longs
with %x.

PR:		bin/39818
Submitted by:	dan@obluda.cz
MFC after:	1 week
2003-07-30 14:56:25 +00:00
ru
620a1cc125 The -Os kernel build with GCC 3.3.1 also requires -fno-strict-aliasing
to survive.

Discussed with:	bde
Tested on:	i386 and pc98
2003-07-30 14:46:46 +00:00
ru
00c31c560d Initialize the FIXCRYPTO, BINMAKE and related variables (that use
the != operator) only when needed.

This change allows me to check out the current version of release/
makefiles only (co -l) to /tmp/release, and use that directory to
build a release (supplying the correct WORLDDIR).

Without this, attempt to "make release" caused an endless fork bomb
while trying to evaluate FIXCRYPTO, and the only way I could get
away from this on a remote box was to "kill -INT 1", thanks to
tcsh(1) and its internal "kill" command.
2003-07-30 14:33:32 +00:00
harti
ded8a0da62 Rearrange the vcc structure so that the generic getvcc function
can be used and add per-VC statistics.
2003-07-30 14:20:00 +00:00
deischen
1c6cde237e Don't forget to unlock the scheduler lock. Somehow this got removed
from one of my last commits.  This only affected priority ceiling
mutexes.

Pointy hat to:	deischen
2003-07-30 13:28:05 +00:00
harti
538c4f0ff5 Rearrange the fields in the vcc table entry to fit to the requirements
of the generic getvcc function and used that function instead of the home
grown.
2003-07-30 11:32:42 +00:00
bp
e4650a40bd Release contrib/smbfs from the import-only mode. Now changes can be committed
directly without import process. The same about MFCs.

Put a note about nwfs.

Discussed with:	peter
2003-07-30 10:43:13 +00:00
hrs
f77ec55f5c New release notes:
one-true-awk 29-Jul-2003 snapshot.
2003-07-30 08:36:16 +00:00
harti
fcbfc2b0db Generate events when the carrier goes up or down.
Add two sysctl's that allow read-only access to the current
state of the utopia interface and to the carrier state.
2003-07-30 08:35:58 +00:00
phk
213f4e3d07 Remove the disabling of buckets workaround.
Thanks to:	jeffr
2003-07-30 07:50:19 +00:00
ru
3d0b5cd4b5 Embed a simplistic version of the dokern.sh script directly into
release/Makefile.

Reviewed by:	marcel

The original patch also removed ia64/dokern.sh, but this was OBE.
2003-07-30 07:40:45 +00:00
suz
83d78951a7 fixed wrong parameter descriptions
Obtained from: KAME
MFC after: 1 day
2003-07-30 07:33:10 +00:00
ru
30b29eae6f Moved the MFS root floppies creation code from release.10 to
doMFSKERN (where it logically belongs).
2003-07-30 07:13:31 +00:00
ru
eff800ad43 Update for the 2003/07/29 import. 2003-07-30 06:50:31 +00:00
ru
117315d8bb This commit was generated by cvs2svn to compensate for changes in r118194,
which included commits to RCS files with non-trunk default branches.
2003-07-30 06:47:03 +00:00
ru
6247f74063 Vendor import of bwk's 29-Jul-2003 release. 2003-07-30 06:47:03 +00:00
marcel
986f678c28 In get_mcontext(), if we need to clear the return value, clear
FRAME_A3 as well. Otherwise swapcontext() will return -1.
2003-07-30 06:38:35 +00:00
marcel
786da18d14 Only allow trapframe formats instead of sigframe formats like the
comment says and don't write the first 3 arguments to FRAME_TRAPARG_*
as they are specific to sigframes.
2003-07-30 06:36:20 +00:00
jeff
8512070a52 - Get rid of the ill-conceived uz_cachefree member of uma_zone.
- In sysctl_vm_zone use the per cpu locks to read the current cache
   statistics this makes them more accurate while under heavy load.

Submitted by:	tegge
2003-07-30 05:59:17 +00:00
jeff
50d6e1a822 - Check to see if we need a slab prior to allocating one. Failure to do
so not only wastes memory but it can also cause a leak in zones that
   will be destroyed later.  The problem is that the slab allocation code
   places newly created slabs on the partially allocated list because it
   assumes that the caller will actually allocate some memory from it.
   Failure to do so places an otherwise free slab on the partial slab list
   where we wont find it later in zone_drain().

Continuously prodded to fix by:	phk (Thanks)
2003-07-30 05:42:55 +00:00
peter
bb7a9f0322 Detour via (void *) to defeat gcc's strict-aliasing warnings when using
-O2 or -Os (such as 'make release').

This commit brought to you by the warning:
  dereferencing type-punned pointer will break strict-aliasing rules
2003-07-30 00:04:58 +00:00
phk
70398bc9a3 Temporary workaround: Always disable buckets, there is a bug there
somewhere.

JeffR will look at this as soon as he has time.

OK'ed by:	jeffr
2003-07-29 22:07:10 +00:00
bde
b722789df3 Restored clearing of the bss, except for putting it in a correct place
with up to date comments.  This fixes booting kernels with boot2
(except for loss of the features provided by loader) and is suitable
for MFC.  Contrary to the old comments, most loaders don't clear the bss.
biosboot lost clearing of the bss in a code crunch in 1997, and boot2
never did it.

kan didn't notice the problem with gcc-3.3 putting variables that are
initialized to 0 in the bss until after committing gcc-3.3 because he
was already using essentially this patch.  Before gcc-3.3, only the
non-critical `bootdev' variable was clobbered by clearing the bss.

MFC after:	3 days
2003-07-29 21:57:01 +00:00
bmah
692df0c688 Fix grammar nits. 2003-07-29 21:20:44 +00:00