pooka
ae80a527f0
oops, backout part which wasn't supposed to go in
2007-11-07 12:11:30 +00:00
pooka
0a587be2cb
Call buf_syncwait() after releasing a file system.
2007-11-07 12:08:45 +00:00
ad
d18c6ca4de
Merge from vmlocking:
...
- pool_cache changes.
- Debugger/procfs locking fixes.
- Other minor changes.
2007-11-07 00:23:13 +00:00
ad
4f48f4962d
Define ipl_cookie_t, ipl_t.
2007-11-07 00:20:22 +00:00
pooka
773d31b14b
yank out extra debug printf
2007-11-06 15:25:40 +00:00
pooka
210515ea9c
Fix locking issues with the anonymous pager too so that tmpfs can work.
2007-11-06 12:57:50 +00:00
pooka
7331777bf0
default to rootnode mode 0777
2007-11-06 12:26:12 +00:00
pooka
78821d0076
initialize vnode interlock when creating one
2007-11-06 12:14:37 +00:00
pooka
895e09b8c5
Sprinkle some more locking, especially to the vm. Due to some
...
additional fixes, it's now possible to run file systems with
spinlocks actually enabled. The genfs_putpages() locking is still
working only due to greater powers, but I'll eventually get around to
fixing it.
2007-11-06 11:35:04 +00:00
pooka
ef11b00de6
Update to new puffs_mainloop() signature. Forgot to do this yesterday.
...
noticed by Kurt Schreiner on current-users
2007-11-06 10:57:35 +00:00
pooka
2525a332ae
* sprinkle some locking into the vm code
...
* avoid extra insert+search+remove step in file systems using
ubc_uiomove() instead of standard uiomove()
2007-11-04 19:52:14 +00:00
pooka
85efd8ec20
set mask and dirmask to 0777 by default
2007-11-04 19:42:56 +00:00
pooka
0be31eefc7
Allocate buf using getiobuf() instead of abusing the stack.
2007-11-04 19:37:29 +00:00
pooka
08ac8063af
Fix some comments: thinking of it more closely, it is actually safe
...
to release the sleep interlock before calling cv_wait() because we
are protected by the list mutex which prevents a wakeup race.
2007-11-04 18:46:29 +00:00
pooka
18ae49a27c
Make the strategy routine get the results through biowait() and
...
the "disk driver" (rumpuser) call biodone() to indicate the completion
of I/O. Support for B_ASYNC is coming at some point, but I need
more locking support in the emulated vm for that.
2007-11-04 18:43:55 +00:00
pooka
2567179467
Remember to save errno before restoring it.
...
noticed by Lukasz on current-users
2007-11-04 17:21:08 +00:00
pooka
55ace5d0d5
Include bufq priority implementations also and link librump with
...
--whole-archive since the bufq priorities use link sets.
2007-10-31 17:53:38 +00:00
pooka
6cc957f067
"Support" splhigh(), requested by reinoud. But the spl emulation
...
code needs to be actually written soon ...
2007-10-31 16:00:26 +00:00
pooka
87f9ee4c42
Make it possible to run rumps multithreaded. This brings real
...
locking and makes it possible to run file systems which create
threads. It also makes rump file system behaviour better match
file system behaviour in the kernel.
2007-10-31 15:57:19 +00:00
pooka
cb11cd8fde
In uvm_estimatepageable() "estimate" pageable.
2007-10-28 18:54:17 +00:00
pooka
eff8fdc9d1
Prevent recursion in INACTIVE -> vrecycle -> inactive -> ...
2007-10-27 19:36:34 +00:00
pooka
87ffdd1649
RUMUSEROBJDIR -> RUMPUSEROBJDIR (those cold-blooded old times ...)
2007-10-26 18:03:26 +00:00
pooka
6640f4d32a
It's non-trivial to say that "no, we don't have cpu counter on this
...
arch (rump)", so emulate it. But this is suboptimal. The crux of
the problem seems to be that types.h contains both information on
the machine architecture (which we want) as well as other defines
such as __HAVE_CPU_COUNTER (which we don't want).
2007-10-26 17:59:38 +00:00
pooka
ff9a260335
few stubs
2007-10-26 17:56:24 +00:00
pooka
bf494d7f8d
more carefully emulate vget() and vrecycle()
2007-10-26 17:55:43 +00:00
pooka
90f8810031
In threading where available.
2007-10-26 17:36:23 +00:00
pooka
4f8627af5f
define _RUMPKERNEL
2007-10-26 10:44:27 +00:00
pooka
f608ef6f7b
Don't unmount file system when releasing ukfs - it's always already
...
unmounted at that point (or never was mounted in the first place).
2007-10-25 16:56:41 +00:00
pooka
50591a9595
"flags * (M_CANFAIL | M_NOWAIT)" is probably not correct. Use & instead.
...
And while committing, add other random cruft I've needed recently.
2007-10-24 15:00:37 +00:00
ad
a2a3828545
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
2007-10-19 11:59:34 +00:00
pooka
b16ab0b2da
Compile most genfs routines directly out of the kernel sources.
...
Move special I/O routines to genfs_io.c to mirror kernel naming.
2007-10-17 16:48:16 +00:00
ad
11dc639958
Merge from vmlocking:
...
- G/C spinlockmgr() and simple_lock debugging.
- Always include the kernel_lock functions, for LKMs.
- Slightly improved subr_lockdebug code.
- Keep sizeof(struct lock) the same if LOCKDEBUG.
2007-10-11 19:45:24 +00:00
ad
7dad9f7391
Merge from vmlocking:
...
- Split vnode::v_flag into three fields, depending on field locking.
- simple_lock -> kmutex in a few places.
- Fix some simple locking problems.
2007-10-10 20:42:20 +00:00
ad
067cf977c9
transferlockers() is gone.
2007-10-10 18:51:43 +00:00
hannken
3856acafe2
Update the file system copy-on-write handler.
...
- Instead of hooking the handler on the specdev of a mounted file system
hook directly on the `struct mount'.
- Rename from `vn_cow_*' to `fscow_*' and move to `kern/vfs_trans.c'. Use
`mount_*specific' instead of clobbering `struct mount' or `struct specinfo'.
- Replace the hand-made reader/writer lock with a krwlock.
- Keep `vn_cow_*' functions and mark as obsolete.
- Welcome to NetBSD 4.99.32 - `struct specinfo' changed size.
Reviewed by: Jason Thorpe <thorpej@netbsd.org>
2007-10-07 13:38:53 +00:00
pooka
eb069641c1
call biooops sync from sync
2007-09-26 21:23:24 +00:00
pooka
38cdad643b
check puffs_init() return value to squelch coverity CID 4568
2007-09-26 21:21:28 +00:00
pooka
268bb1001b
print 0x before hex, print proper types
2007-09-24 01:40:38 +00:00
pooka
84387d0fd3
Don't whine about wakeup() not being implemented every time it's
...
called. Nobody cares unless ltsleep() is called (and it panics).
2007-09-24 01:34:27 +00:00
pooka
1d4d5500dc
-DFFS_EI
2007-09-24 01:31:07 +00:00
pooka
310b3e7254
add rw_tryenter() and rw_lock_held(), inspired by Adam Hamsik
2007-09-22 11:26:42 +00:00
pooka
b795ecbe79
fsync() device fd if doing a non-B_ASYNC write. This makes the
...
file system safe, but less performant as the kernel, as it syncs
*all* outstanding dirty buffers. However, we don't have much choice
in userspace currently.
2007-09-20 23:43:44 +00:00
pooka
c777421532
Expose namei. Some applications might want to call VOPs directly for
...
whatever reason and no need to make them implement their own copy of
namei, fun though it might be.
2007-09-18 19:59:21 +00:00
pooka
0ae64860f6
don't allocate variable-sized arrays from the stack
2007-09-12 10:24:23 +00:00
briggs
06c4139448
If !_HAVE_TIMECOUNTER, initialize 'time' instead of 'time_second.'
2007-09-11 16:33:19 +00:00
briggs
bf243579ed
Define splclock() so that this will at least compile on architectures
...
without _HAVE_TIMECOUNTER.
2007-09-11 16:31:01 +00:00
pooka
dffee5c423
fix ukfs_readlink() to be of type ssize_t
2007-09-11 00:42:16 +00:00
pooka
850349a3c2
create generated files before running makedepend
2007-09-11 00:41:46 +00:00
pooka
99dbf2bb34
manadatory TODO-list.
...
Makes project appear less dead when there's something TODO.
2007-09-10 21:18:55 +00:00
pooka
ccd777c8fa
Provide errno from rumpuser_{gettimeofday,close}() to be consistent.
2007-09-10 19:11:44 +00:00