Commit Graph

4044 Commits

Author SHA1 Message Date
skrll 59abd634ef We emulate more than SVR4, and IBCS2 on the i386 and Linux on the i386
and the Alpha there days. Remove this statement in a comment.
2004-10-30 09:38:15 +00:00
yamt 05f25dcc2a move buffer queue related stuffs from buf.h to their own header, bufq.h. 2004-10-28 07:07:35 +00:00
skrll 1d0409de9a Fix bug in siginfo handling introduced in revision 1.93 2004-10-26 06:58:05 +00:00
yamt 4dd708bfff a relatively lightweight implementation of kernel_lock. 2004-10-26 00:14:46 +00:00
peter 8270ea3f59 Use ANSI function decls. 2004-10-25 23:37:58 +00:00
peter 7101691fa3 Remove two redundant conditionals. 2004-10-25 23:06:41 +00:00
peter 993460fbb1 Change the static array to a linked list, removes the limit of max 20 LKMs.
Mostly from OpenBSD.
Reviewed by several people on tech-kern.
2004-10-25 22:59:12 +00:00
cube 85c68ec88d Add a check in DEV_USES_PARTITIONS macro in case dv->dv_cfdata is NULL,
as it is the case for md and raid. Raid case tested by Martin Husemann,
I could test the install floppies work again.
2004-10-24 17:06:24 +00:00
yamt c0ebe301d7 don't reference kernel_lock directly. 2004-10-23 21:27:33 +00:00
thorpej a6be1570c7 - Centralize the declaration of booted_device and booted_partition.
- Add a booted_wedge variable that indicates the wedge that was booted
  from.  If this is NULL, booted_partition is consulted.
- Adjust setroot() and its support routines for root-on-wedges.  Could
  use some tidy-up, but this works for now.
2004-10-23 17:14:11 +00:00
peter 5d3f22a6e3 Remove the confusing PAGESIZE macro and calculate the size by doing
size / 1024.

Approved by mrg.
2004-10-22 09:49:18 +00:00
matt 2fefa174c9 Make panic messages print out what condition they though was panic-worthy
instead of a 1 word message.
2004-10-20 22:10:31 +00:00
jdolecek 065df3bb84 fix typo (missing &) 2004-10-17 11:24:42 +00:00
jdolecek 84e86b0dce use nointr allocator for shmmap_entry_pool - this is always accessed
from process context
2004-10-17 11:23:16 +00:00
jdolecek 3b6adcdea1 kill the indirection via struct shm_handle and store pointer to the uvm
object direct to _shm_private; the indirection doesn't serve any
useful purpose and just wastes memory and cpu cycles
2004-10-16 13:34:07 +00:00
thorpej 11103d1865 No longer need <sys/disk.h> 2004-10-15 07:22:02 +00:00
thorpej 99e5d764c1 - Eliminate the need to call disk_init().
- disk_count needs to be protected with disklist_slock, too.
2004-10-15 07:19:01 +00:00
thorpej f8335cf6c2 Don't initialize ttylist or tty_count in tty_init(). 2004-10-15 07:15:39 +00:00
thorpej 45bba4e135 Change config_attach_pseudo() to take a cfdata * that contains the
necessary information to create the pseudo-device instance.  Pseudo-device
device's will reference this cfdata, just as normal devices reference
their corresponding cfdata.

Welcome to 2.99.10.
2004-10-15 04:38:36 +00:00
yamt 1c2a2dcad3 move i/o schedulers to their own files.
namely, from kern/subr_disk.c to kern/bufq_{fcfs,disksort,readprio,priocscan}.c.
2004-10-14 05:12:28 +00:00
briggs 9f506888d3 Update sem_otime on successful call to semop(). 2004-10-07 05:34:09 +00:00
skrll d42dfb7727 Correct arg name in comment. 2004-10-06 08:55:27 +00:00
is b5016b1bb3 Some code likes to mix MT_HEADER and MT_DATA. Revert this assertion until
the usage of MT_HEADER vs. MT_DATA is better defined and implemented.
2004-10-05 12:19:29 +00:00
enami 4fa5fd9ed6 - Testing low memory condition to see if we should alloc or not doesn't make
sense, since 1) the condition is quite normal condition and 2) there is
  pool between us and uvm.
- Make the step of allocation possibility a bit seamless by moving the origin
  of curve from 0 to lowater mark.
Simon told that this helps for interactive performance when there is heavy
disk activity in PR#27057.
2004-10-04 01:24:18 +00:00
enami 51718e92ee Factor out code to set watermark and ensure high > low. 2004-10-04 00:46:05 +00:00
yamt d0094e323b proclist_foreach_call: tweak an assertion to deal with the case that
spinlockmgr is no-op.  PR/27125 from Andreas Wrede.
2004-10-03 22:26:35 +00:00
enami 682c3c9443 - Don't let pagedaemon sleep while draining buf.
- Estimate amount of memory to free at a time.
Address PR#27057 (and similar hangs I saw several months ago).
2004-10-03 08:47:48 +00:00
enami ba25820566 x > 15 is always false if x is 0 .. 15.
# XXX: testing free memory here is quite doubtful.  also, I guess lowater
# XXX: is better than 0 as origin.
2004-10-03 08:30:09 +00:00
enami 778d21de43 Cheap test first. 2004-10-03 08:17:54 +00:00
yamt 0994e6acb8 introduce a function, proclist_foreach_call, to iterate all procs on
a proclist and call the specified function for each of them.
primarily to fix a procfs locking problem, but i think that it's useful for
others as well.

while i'm here, introduce PROCLIST_FOREACH macro, which is similar to
LIST_FOREACH but skips marker entries which are used by proclist_foreach_call.
2004-10-01 16:30:52 +00:00
reinoud 22f1132820 Implement ddb setting that allows all ddb output to be teed into the
kernel message buffer/log. Its off by default and can be switched on in the
kernel configuration on build time, be set as a variable in ddb and be set
using sysctl.

This adds the sysctl value
	ddb.tee_msgbuf = 0
by default.

The functionality is especially added and aimed for developers who are not
blessed with a serial console and wish to keep all their ddb output in the
log. Specifying /l as a modifier to some selected commands will also put
the output in the log but not all commands provide one nor has the same
meaning for all commands.

This feature could in the future also be implemented as an ddb command but
that could lead to more bloat allthough maybe easier for non developpers to
use when mailing their backtraces from kernel crashes.
2004-09-29 23:54:11 +00:00
jdolecek f64366a240 add flag for shmget(2) to specify that later shmat(2) for the shared memory
segment should succeed even if the segment would be marked removed; use this
to implement the Linux-compatible semantics of shmat(2)

this fixes the old Linux VMware3 graphics problem with local display,
and possibly other local Linux X clients using MIT-SHM
2004-09-28 19:05:19 +00:00
jdolecek 68ee548306 fold shmat1() back into sys_shmat(), the change in rev 1.64 is not sufficient
for Linux-compatible shmat() behaviour - shmat() for the removed shared memory
segment must work from all callers, the shared memory id could be passed e.g.
to native X server via MIT-SHM

temporarily remove the functionality, the Linux-compatible semantics
will be reimplemented differently
2004-09-28 17:26:25 +00:00
jdolecek 3254cd78d8 adjust the change of rev. 1.190 so that trap signals not matching
the reset condition are processed properly; this fixes PR#26687 by
Jan Schaumann

many thanks to Mark Davies, who tracked the offending change down
and helped test patches

while here, g/c unused sigtrapmask and rearrange some code to pre-r1.190 form
for better readability
2004-09-28 08:59:20 +00:00
thorpej baefaf4422 Work-in-progress implementation of "wedges", a new way to represent
partitions in the NetBSD kernel.  See discussion on tech-kern for details.
2004-09-25 03:30:44 +00:00
yamt 832a9b868e release kernel lock in uiomove(). 2004-09-23 10:45:08 +00:00
enami 633ef38973 Create kernel thread and let it to issue the write request. We can't
do this from trace target process since we can't sleep at certain
trace point (otherwise system may hang).  Address PR#23155.
2004-09-22 22:15:03 +00:00
lukem e0c9340497 Add "unmounting disks..." [unmount] " done" to vfs_unmountall(),
so the user has some idea what's occurring after "syncing disks... done"
2004-09-22 11:47:23 +00:00
yamt d2fe4b34bb move some per-cpu data definitions to MI place so that they can be modified
without touching all ports.  discussed on tech-kern@.
2004-09-22 11:32:02 +00:00
thorpej d01a5a57e8 Regenerate for VNODE_LOCKDEBUG changes. 2004-09-21 03:11:53 +00:00
thorpej 11afd11faa Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*()
calls to ensure that the vnode lock state is as expected when the VOP
call is made.  Modify vnode_if.src to set the expected state according
to the documenting lock table for each VOP.  Modify vnode_if.sh to emit
the checks.

Notes:
- The checks are only performed if the vnode has the VLOCKSWORK bit
  set.  Some file systems (e.g. specfs) don't even bother with vnode
  locks, so of course the checks will fail.
- We can't actually run with VNODE_LOCKDEBUG because there are so many
  vnode locking problems, not the least of which is the "use SHARED for
  VOP_READ()" issue, which screws things up for the entire call chain.

Inspired by similar changes in OpenBSD, but implemented differently.
2004-09-21 03:10:35 +00:00
yamt 3362d4ed5b fix allocbuf() O(n**2) behaviour where n is number of AGE buffers
by always tracking amount of buffers on a queue.
bump to 2.0H.
2004-09-18 16:37:12 +00:00
yamt 2bf1a4ef17 - add missing function prototypes.
- fix prototype mismatches.
2004-09-18 16:01:03 +00:00
enami 23114636eb Delete m_tag from a mbuf being non-pkthdr mbuf rather than newly becoming
pkthdr mbuf.
2004-09-17 23:24:03 +00:00
enami a3eb2d5952 - proc_alloc() already initializes p_stat to SIDL.
- copy unconditionaly inherited p_flag bits in a single place.
2004-09-17 23:20:21 +00:00
skrll f7155e40f6 There's no need to pass a proc value when using UIO_SYSSPACE with
vn_rdwr(9) and uiomove(9).

OK'd by Jason Thorpe
2004-09-17 14:11:20 +00:00
tls 95c72fc3de Add 50Hz support -- this will allow 'options NTP' to work on the Xen port,
once the Xen port's timer interrupts are made somewhat more sane (it "works"
now, but keeps worse time than without the option, ouch)
2004-09-15 04:56:14 +00:00
jdolecek e6e73849a5 g/c rest of COMPAT_AOUT support 2004-09-14 17:25:37 +00:00
jdolecek 023551ef44 gc opt_compat_aout.h include 2004-09-14 17:20:29 +00:00
jdolecek a6894024dd dostatvfs(): zero the statvfs structure before calling filesystem code, so that
unset parts would have defined value and not pass random parts of kernel stack
2004-09-13 20:02:20 +00:00