summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* o Complete the locking of page queue accesses by vm_page_unwire().alc2002-07-138-5/+24
| | | | | | o Assert that the page queues lock is held in vm_page_unwire(). o Make vm_page_lock_queues() and vm_page_unlock_queues() visible to kernel loadable modules.
* o Lock some page queue accesses, in particular, those by vm_page_unwire().alc2002-07-131-1/+6
|
* o Lock some page queue accesses, in particular, those by vm_page_unwire().alc2002-07-132-0/+8
|
* Fix a few bugs in the ERRORS section.wollman2002-07-131-3/+12
|
* Moved the setting of all profiling-related variables except the key onebde2002-07-1310-19/+20
| | | | | | | | (PROFLEVEL) to kern.pre.mk so that it is easier to manage. Bumped config version to match. Moved the check for cputype being configured to a less bogus place in mkmakefile.c.
* Add statvfs(3) to the build.wollman2002-07-131-2/+3
| | | | Tested by: Steve Kargl
* Well, it's not quite strxfrm(3) but at least it's honest.wollman2002-07-131-0/+176
|
* o Lock some page queue accesses, in particular, those by vm_page_unwire().alc2002-07-132-1/+8
|
* s/links/links1/bmah2002-07-131-2/+2
| | | | | | This should unbreak release builds with docs but without a full ports tree. While I'm here, fix a minor sorting glitch.
* Remove incorrect comment about now corrected manpage.alfred2002-07-131-1/+0
|
* Move COMPAT_FREEBSD4 to arch-neutral sys/conf/NOTES.alfred2002-07-135-3/+6
| | | | | | | Add COMPAT_FREEBSD4 to GENERIC for arches that existed in FreeBSD 4's time, not just i386. (alpha and pc98) Requested by: bde
* MFCs noted: RLIMIT_VMEM, pam_opieaccess(8).bmah2002-07-132-10/+10
| | | | Fix two minor grammar nits while here.
* A bunch of minor fixes:luigi2002-07-131-8/+11
| | | | | | | | | | | | * accept "icmptype" as an alias for "icmptypes"; * remove an extra whitespace after "log" rules; * print correctly the "limit" masks; * correct a typo in parsing dummynet arguments (this caused a coredump); * do not allow specifying both "check-state" and "limit", they are (and have always been) mutually exclusive; * remove an extra print of the rule before installing it; * make stdout buffered -- otherwise, if you log its output with syslog, you will see one entry for each printf(). Rather unpleasant.
* New release notes: SA-02:29, SA-02:30.bmah2002-07-132-0/+32
|
* Turbochannel support / machines have been removed from -current.wilko2002-07-131-306/+1
|
* When usb is kld, ucom and uplcom were failed to load because ofume2002-07-132-0/+2
| | | | usbd_abort_pipe undefined.
* Account for space used by environment variables in a similar way totjr2002-07-131-8/+12
| | | | xargs(1) when handling -exec ... {} + constructions.
* Typo.mikeh2002-07-131-1/+1
|
* Lock accesses to the page queues.alc2002-07-131-0/+2
|
* Add prototype for cred_free_thread() when DIAGNOSTIC is defined.mini2002-07-131-0/+3
|
* Add additional cred_free_thread() calls that I had missed the first time.mini2002-07-137-12/+56
| | | | Pointed out by: jhb
* o Lock accesses to the page queues.alc2002-07-131-0/+11
| | | | | o Add a comment explaining why hoisting the page queue lock outside of a particular loop is not possible.
* - Change chroot_refuse_vdir_fds() to require that the passed in structjhb2002-07-132-32/+36
| | | | | | | | | filedesc is already locked rather than having chroot() unlock the filedesc so chroot_refuse_vdir_fds() can immediately relock it. - Reorder chroot() a bitso that we do the namei lookup before checking the process's struct filedesc. This closes at least one potential race and allows us to only acquire the filedsec lock once in chroot(). - Push down Giant slightly into chroot().
* Use a fixed address for KERNBASE, so it doesn't change if the size of KVAjake2002-07-131-26/+6
| | | | | is increased. Its confusing for all the kernel addresses to change, and doesn't serve much purpose as far as conserving address space.
* Identify UltraSPARC-III and UltraSPARC-III+ cpus.jake2002-07-132-3/+15
|
* We don't need to clear oldcred here since newcred is not NULL yet.jhb2002-07-131-3/+1
|
* Lock accesses to the page queues by sendfile() and friends.alc2002-07-131-0/+8
|
* o Assert GIANT_REQUIRED on system maps in _vm_map_lock(),alc2002-07-122-9/+6
| | | | | | | | | | _vm_map_lock_read(), and _vm_map_trylock(). Submitted by: tegge o Remove GIANT_REQUIRED from kmem_alloc_wait() and kmem_free_wakeup(). (This clears the way for exec_map accesses to move outside of Giant. The exec_map is not a system map.) o Remove some premature MPSAFE comments. Reviewed by: tegge
* Avoid dereferencing a null pointer in ro_rt.luigi2002-07-121-2/+3
| | | | | | | | | This was always broken in HEAD (the offending statement was introduced in rev. 1.123 for HEAD, while RELENG_4 included this fix (in rev. 1.99.2.12 for RELENG_4) and I inadvertently deleted it in 1.99.2.30. So I am also restoring these two lines in RELENG_4 now. We might need another few things from 1.99.2.30.
* Re-enable the idle page-zeroing code. Remove all IPIs from the idledillon2002-07-127-22/+142
| | | | | | | | | | | | | | | | | page-zeroing code as well as from the general page-zeroing code and use a lazy tlb page invalidation scheme based on a callback made at the end of mi_switch. A number of people came up with this idea at the same time so credit belongs to Peter, John, and Jake as well. Two-way SMP buildworld -j 5 tests (second run, after stabilization) 2282.76 real 2515.17 user 704.22 sys before peter's IPI commit 2266.69 real 2467.50 user 633.77 sys after peter's commit 2232.80 real 2468.99 user 615.89 sys after this commit Reviewed by: peter, jhb Approved by: peter
* also set the KSE state for the idle KSE/thread case.julian2002-07-121-2/+2
|
* Fix a type: s/your are/you are/trhodes2002-07-121-1/+1
|
* Set the thread state of the newly chosen to run thread to TDS_RUNNING injhb2002-07-1217-81/+1
| | | | | | | | choosethread() in MI C code instead of doing it in in assembly in all the various cpu_switch() functions. This fixes problems on ia64 and sparc64. Reviewed by: julian, peter, benno Tested on: i386, alpha, sparc64
* New release notes: NEWCARD default, finger(1) -g (+ MFC), whereis(1)bmah2002-07-122-8/+26
| | | | | | update. MFCs noted: finger(1) .pubkey.
* Fix C++ exception handling. GCC was using the older BSD DBX register numbersobrien2002-07-121-0/+8
| | | | | | rather than the ELF ABI/SVR4 ones in its DWARF unwinding. Submitted by: Alexander Kabaev <ak03@gte.com>
* When I decided to use a stock dbxout.c rather than merge the rev 1.2 changeobrien2002-07-121-4/+0
| | | | | | | | | | | | | | (put the function stabs in traditional order on a.out, or gdb doesn't see function local variables), I failed to remove the related knobs here. Effectively were overrode the ELF-wide definition in elfos.h w/o providing new infrastructure. This is what caused GDB to fail to debug applications compiled and linked with -stabs. This is because GCC was unconditionally inserts .stabs instruction for functions after the function body. GDB was getting confused because what it thinks is function beginning address is actually function ending address. Submitted by: Alexander Kabaev <ak03@gte.com>
* Lock accesses to the page queues.alc2002-07-121-0/+4
|
* Fix ptrace(PT_READ_*, ...) for non-little-endian architectures wheretmm2002-07-121-3/+5
| | | | sizeof(register_t) != sizeof(int).
* When sending cache flushing IPIs, don't try to IPI the triggering CPUtmm2002-07-121-4/+4
| | | | | | | | | | itself; this causes undefined behaviour on UltraSPARCs. In particular, the interrupt packet data words will not necessarily be delivered correctly, which would result in a crash. This bug also caused the cache-flushing work to be done twice on the triggering CPU (when it did not cause crashes). Reviewed by: jake
* Use fgetln(3) to read lines from configuration files (ftpusers, ftphosts.)yar2002-07-121-48/+78
| | | | | | | | | | | | | Thus lines of any length can be handled, unlike before. Don't assume that each line read from the files ends with a newline. As a side effect in inithosts(), don't use automatic buffer at all, utilize malloc(3) when getting local host name instead. PR: misc/21494 Reviewed by: maxim, mikeh MFC after: 1 month
* Fix ${TMAKE} to use the correct .mk files.ru2002-07-121-4/+5
| | | | Removed stray -DNO_WERROR's.
* Moved the `distribute' target from bsd.obj.mk to bsd.subdir.mk,ru2002-07-122-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to make it call `install' in the bsd.subdir.mk-driven makefiles too. (share/examples/Makefile,v 1.29 changed the bsd.prog.mk to bsd.subdir.mk and many stuff was lost during "make release". I then merged this change in rev. 1.28.2.2 to work around the namespace pollution (FILES) in this makefile.) There was an added complexity here. Both the `distribute' and `install' targets are recursive (they propagate to SUBDIRs). So `distribute' first calls `install' in the ${.CURDIR}, then calls `distribute' in each SUBDIR, etc. The problem is that `install' (being also recursive) causes the stuff from SUBDIR to be installed twice, first time thru `install' in ${.CURDIR} triggered by `distribute', second time by `distribute' run in the SUBDIR. This problem is not new, but it became apparent only after I moved the `distribute' target from bsd.obj.mk to bsd.subdir.mk. My first attempt testing the fix failed due to this, because the whole world was distributed twice, causing all the imaginable mess (kerberos5 stuff was installed into both "base" and "krb5" dists, there was /sbin/init.bak, etc.) I say the problem is not new because bsd.prog.mk and bsd.lib.mk makefiles with SUBDIR (even without this fix) had this problem for years. Try e.g. running ``make distribute DISTDIR=/foo'' from usr.bin/bzip2 or from lib/libcom_err (without the fix) and watch the output. So the solution was to make `install' behave non-recursive when executed by `distribute'. My first attempt in passing SUBDIR= to the `install' in the `distribute' body failed because of the way how src/Makefile and src/Makefile.inc1 communicate with each other. SUBDIR='s assignment precedence on the "make install SUBDIR=" command line is lowered after src/Makefile wrapper calls "make ... -f ${.CURDIR}/Makefile.inc1 install" because SUBDIR= is moved into environment, and Makefile.inc1's assignments now take higher precedence. This may be fixed someday when we merge Makefile with Makefile.inc1. For now, this is implemented as a NO_SUBDIR knob. Spotted by: Dmitry Pryanishnikov <dmitry@atlantis.dp.ua> Prodded by: des MFC after: 3 days
* Make dirty, rotten hack really work. As of rev. 1.16, ${BINDIR}ru2002-07-121-2/+2
| | | | | | | is only defined after <bsd.prog.mk> is included, and .if make(1) conditionals are evaluted on the first pass. Spotted by: Michael Bretterklieber <mbretter@jawa.at>
* Connect device.hints.5 to the build.ru2002-07-121-1/+2
|
* Sort MAN.ru2002-07-121-2/+2
|
* Fixed path to /boot/device.hints.ru2002-07-121-1/+1
|
* Back out the previous change, since it looks like locking udbinfo providestruckman2002-07-121-8/+1
| | | | sufficient protection.
* Be specific about which reason caused vm86_addpages to panicpeter2002-07-121-4/+6
|
* Lock inp while we're accessing it.truckman2002-07-121-1/+8
|
* Revive backed out pmap related changes from Feb 2002. The highlights are:peter2002-07-1234-1013/+2426
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - It actually works this time, honest! - Fine grained TLB shootdowns for SMP on i386. IPI's are very expensive, so try and optimize things where possible. - Introduce ranged shootdowns that can be done as a single IPI. - PG_G support for i386 - Specific-cpu targeted shootdowns. For example, there is no sense in globally purging the TLB cache for where we are stealing a page from the local unshared process on the local cpu. Use pm_active to track this. - Add some instrumentation for the tlb shootdown code. - Rip out SMP code from <machine/cpufunc.h> - Try and fix some very bogus PG_G and PG_PS interactions that were bad enough to cause vm86 bios calls to break. vm86 depended on our existing bugs and this was the cause of the VESA panics last time. - Fix the silly one-line error that caused the 'panic: bad pte' last time. - Fix a couple of other silly one-line errors that should have caused more pain than they did. Some more work is needed: - pmap_{zero,copy}_page[_idle]. These can be done without IPI's if we have a hook in cpu_switch. - The IPI handlers need some cleanup. I have a bogus %ds load that can be avoided. - APTD handling is rather bogus and appears to be a large source of global TLB IPI shootdowns for no really good reason. I see speedups of between 1.5% and ~4% on buildworlds in a while 1 loop. I expect to see a bigger difference when there is significant pageout activity or the system otherwise has memory shortages. I have backed out a few optimizations that I had been using over the last few days in order to be a little more conservative. I'll revisit these again over the next few days as the dust settles. New option: DISABLE_PG_G - In case I missed something.
OpenPOWER on IntegriCloud