Poul-Henning Kamp
961da2716b
Give cluster_write() an explicit vnode argument.
...
In the future a struct buf will not automatically point out a vnode for us.
2004-09-27 19:14:10 +00:00
Poul-Henning Kamp
a5993c332a
Used cached cdevsw pointer.
2004-09-27 06:34:30 +00:00
Poul-Henning Kamp
743cd76a73
Add cdevsw->d_purge() support.
...
This device method shall wake up any threads sleeping in the device driver
and make the depart the drivers code for good.
2004-09-27 06:18:25 +00:00
Marcel Moolenaar
e6aa723212
Fix a bug introduced in the previous commit: kdb_cpu_trap() gets to
...
the trapframe via kdb_frame, but kdb_frame was not initialized until
after the call to kdb_cpu_trap(). Ergo: kdb_cpu_trap() was moved too
far up.
Pointy hat: marcel
2004-09-26 06:48:59 +00:00
Julian Elischer
2179a22cc7
Use the universal 'threaded process' flag rather than the
...
specific tests for different threading systems.
MFC after: 1 week
2004-09-25 00:53:46 +00:00
John Baldwin
a9a64385e7
Some more whitespace, style, and comment fixes.
...
Submitted by: bde (mostly)
2004-09-24 20:27:04 +00:00
Pawel Jakub Dawidek
d0257d9c10
Rename 'mount_root_delay' tunable to 'vfs.root.mountdelay', which fits
...
a bit better to our current naming scheme.
Discussed with: ru
2004-09-24 09:19:03 +00:00
Poul-Henning Kamp
b2deb1d205
Remove the cdevsw() function which is now unused.
2004-09-24 08:30:57 +00:00
Poul-Henning Kamp
6f077de596
Hold threadcount while throbbing cdevsw in our underlying driver.
...
This is a bit heavyhanded, and will be simplified once the tty code
learns to properly deal with disappearing hw and drivers.
2004-09-24 08:26:03 +00:00
Poul-Henning Kamp
8f7bea8b99
Hold threadcount reference when we call into the underlying console
...
driver.
2004-09-24 07:16:56 +00:00
Poul-Henning Kamp
fe0b82752b
Eliminate devsw() call, we are not dereferencing the pointer.
2004-09-24 07:11:02 +00:00
Poul-Henning Kamp
8ff33adb8c
Hold threadref while we throb cdevsw in devtoname()
2004-09-24 06:29:23 +00:00
Poul-Henning Kamp
38f878d739
Use vn_isdisk() to check if vnode is a disk.
...
(repeat, CVS core dumped on me)
2004-09-24 06:23:31 +00:00
Poul-Henning Kamp
233b81be1c
use vn_isdisk() to see if vnode is a disk.
2004-09-24 06:21:43 +00:00
Poul-Henning Kamp
6e8d420249
Hold dev_lock and check for NULL devsw pointer when we service FIODTYPE ioctl.
2004-09-24 06:16:48 +00:00
Poul-Henning Kamp
70526ca6a5
Hold dev_lock and check for NULL devsw pointer when we determine
...
if a vnode is a disk.
2004-09-24 06:16:08 +00:00
Poul-Henning Kamp
6230ce6aa9
use dev_re[fl]thread() rather than home rolled versions.
2004-09-24 05:55:03 +00:00
Poul-Henning Kamp
2c15afd888
Introduce dev_re[lf]thread() functions.
...
dev_refthread() will return the cdevsw pointer or NULL. If the
return value is non-NULL a threadcount is held which much be released
with dev_relthread(). If the returned cdevsw is NULL no threadcount
is held on the device.
2004-09-24 05:54:32 +00:00
John Baldwin
6111dcd2ef
A modest collection of various and sundry style, spelling, and whitespace
...
fixes.
Submitted by: bde (mostly)
2004-09-24 00:38:15 +00:00
Olivier Houchard
e0370a187c
On arm, set the default elf brand to FreeBSD, until the binutils do it for us.
2004-09-23 23:29:24 +00:00
John Baldwin
ea73c1ea21
Don't try to protect td_sticks with sched_lock. It doesn't need it as it
...
is only accessed by curthread.
2004-09-23 21:03:58 +00:00
John Baldwin
654e92bf10
- Assert sched_lock in upcall_remove() since it is needed there and all
...
callers already lock it there.
- Lock sched_lock slightly earlier in kse_create() so that it covers
kg_numupcalls.
2004-09-23 21:03:16 +00:00
John Baldwin
63993cf011
- Don't try to unlock Giant if single threading fails since we don't have
...
it locked.
- Unlock Giant before calling exit1() since exit1() does not require Giant.
2004-09-23 21:01:50 +00:00
Poul-Henning Kamp
fd92686dd5
Split the ioctl function in control and slave side, this eliminated
...
a troublesome devsw() call.
2004-09-23 16:13:46 +00:00
Poul-Henning Kamp
1a52a73d68
Eliminate DEV_STRATEGY() macro: call dev_strategy() directly.
...
Make dev_strategy() handle errors and departing devices properly.
2004-09-23 14:45:04 +00:00
Pawel Jakub Dawidek
5a19f8b0c4
Introduce new /boot/loader.conf variable: root_mount_delay.
...
It can be used to delay mounting root partition to give a chance to GEOM
providers to show up.
Now, when there is no needed provider, vfs_rootmount() function will look
for it every second and if it can't be find in defined time, it'll ask
for root device name (before this change it was done immediately).
This will allow to boot from gmirror device in degraded mode.
2004-09-23 10:13:18 +00:00
Poul-Henning Kamp
a0e78d2eb0
Do not refcount the cdevsw, but rather maintain a cdev->si_threadcount
...
of the number of threads which are inside whatever is behind the
cdevsw for this particular cdev.
Make the device mutex visible through dev_lock() and dev_unlock().
We may want finer granularity later.
Replace spechash_mtx use with dev_lock()/dev_unlock().
2004-09-23 07:17:41 +00:00
John Baldwin
7eaec467d8
Various small style fixes.
2004-09-22 15:24:33 +00:00
Julian Elischer
2e2e32b201
Revert the last change..
...
Better to kill all other threads than to panic the system if 2 threads call
execve() at the same time. A better fix will be committed later.
Note that this only affects the case where the execve fails.
2004-09-22 01:30:23 +00:00
Julian Elischer
297800599a
In a threaded process, don't kill off all the other threads until we have a
...
reasonable chance that the eceve() is going to succeeed. I.e.
wait until we've done the permission checks etc.
MFC after: 1 week
2004-09-21 21:05:13 +00:00
Poul-Henning Kamp
90a660e199
If a vnode has no v_rdev we cannot hope to answer FIODTYPE ioctl.
2004-09-21 08:33:05 +00:00
John Baldwin
b89daf89a8
Remove unused macro.
2004-09-20 19:01:44 +00:00
Brian Somers
a04946cf6e
CTASSERT that MSZIE is a power of 2 (otherwise dtom() breaks)
...
Ask uma_zcreate() to align mbufs to MSIZE bytes (otherwise dtom() breaks)
As it happens, uma_zalloc_arg() always returned mbufs aligned to MSIZE
anyway, but that was an implementation side-effect....
KASSERT -> CTASSERT suggested by: dd@
Approved by: silence on -net
2004-09-20 08:52:04 +00:00
David Schultz
8daa8c602a
The zone from which proc structures are allocated is marked
...
UMA_ZONE_NOFREE to guarantee type stability, so proc_fini() should
never be called. Move an assertion from proc_fini() to proc_dtor()
and garbage-collect the rest of the unreachable code. I have retained
vm_proc_dispose(), since I consider its disuse a bug.
2004-09-19 18:34:17 +00:00
Poul-Henning Kamp
9e16d66689
Initialize new ttys a bit more.
...
Check TS_GONE flag for gone-ness.
2004-09-18 17:02:18 +00:00
Marcel Moolenaar
ddf4122592
Move makectx() after kdb_cpu_trap(), so the PCB will have possible MD
...
corrections made to the trapframe. This is more logical.
2004-09-17 22:27:23 +00:00
Poul-Henning Kamp
e8d3e08098
Add ttyopen and ttyclose functions which will do the right stuff for
...
most if not all of our tty drivers in the future.
Centralizing this stuff enables us to remove about 100 lines of
almost but not quite perfectly copy&paste code from each tty driver.
2004-09-17 11:43:35 +00:00
Poul-Henning Kamp
3e6bf9fb86
Add ttyalloc() which in due time will be the successor to ttymalloc(),
...
but without the "struct tty *" argument.
2004-09-17 06:13:47 +00:00
Poul-Henning Kamp
f33ed262da
Use the tty->t_sc field to find our softc.
2004-09-16 12:07:25 +00:00
Julian Elischer
14f0e2e9bf
clean up thread runq accounting a bit.
...
MFC after: 3 days
2004-09-16 07:12:59 +00:00
Julian Elischer
9da3e923f4
e specific code to revert a partial add ot teh run queue, not
...
remrunqueue() which can't handle a partially added thread.
MFC after: 1 week
2004-09-16 05:37:40 +00:00
Poul-Henning Kamp
08dbd671ff
Remove unused B_WRITEINPROG flag
2004-09-15 21:49:22 +00:00
Poul-Henning Kamp
273350ad0f
Simplify initialization of va_null a little bit.
2004-09-15 21:42:03 +00:00
Poul-Henning Kamp
4095f485c8
undent some functions a bit.
2004-09-15 21:08:58 +00:00
Poul-Henning Kamp
ab19cad78e
stylistic polishing.
2004-09-15 20:54:23 +00:00
Julian Elischer
915996978d
Try harder to get back to being a non threaded process.
...
Submitted by: DavidXu
MFC after: 3 days
2004-09-15 18:39:09 +00:00
Julian Elischer
e8807f22f9
Oops accidentally removed #ifdef SCHED_4BSD
...
as part of another commit
This function is not yet used in ULE
2004-09-15 03:51:51 +00:00
John-Mark Gurney
31580e6817
unlock global lock in kqueue_scan before msleep'ing to prevent dead
...
lock.. we didn't unlock global lock earlier to prevent just having
to reaquire it again..
Found by: peter
Reviewed by: ps
MFC after: 3 days
2004-09-14 18:38:16 +00:00
Julian Elischer
1f9f5df61d
Commit a fix for some panics we've been seeing with preemption.
...
MFC after: 2 days
2004-09-13 23:06:39 +00:00
Julian Elischer
b2578c6c06
Add some kasserts
2004-09-13 23:02:52 +00:00