Age | Commit message (Collapse) | Author |
|
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)
there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.
deraadt@, kettenis@ ok
|
|
vnode locking actually works, just check the VLOCKSWORK
flag. Also, change this ifdef DEBUG to VFSDEBUG since
VLOCKSWORK is only ever set if VFSDEBUG is defined.
ok/input miod@, art@ (earlier diff)
|
|
help and ok miod@ thib@
|
|
the holes a MMU may have from a given vm_map. This will be automagically
invoked for newly created vmspaces.
On platforms with MMU holes (e.g. sun4, sun4c and vax), this prevents
mmap(2) hints which would end up being in the hole to be accepted as valid,
causing unexpected signals when the process tries to access the hole
(since pmap can not fill the hole anyway).
Unfortunately, the logic mmap() uses to pick a valid address for anonymous
mappings needs work, as it will only try to find an address higher than the
hint, which causes all mmap() with a hint in the hole to fail on vax. This
will be improved later.
|
|
eyeballed and ok dlg@
|
|
version for i386
more architectures and ctob() replacement is being worked on
prodded by and ok miod
|
|
some comment cleanup and a touch of KNF.
ok art@
|
|
when we hit swap before actually fully populating the buffer cache which
would lead to deadlocks.
From pedro, tested by many, deraadt@ ok
|
|
|
|
ckuethe@ for a while. Okay beck@, "it is good timing" deraadt@.
|
|
"reads ok" dlg@
|
|
type of all variables to daddr64_t. this includes the APIs for XXsize()
and XXdump(), all range checks inside bio drivers, internal variables
for disklabel handling, and even uvm's swap offsets. re-read numerous
times by otto, miod, krw, thib to look for errors
|
|
to size. tested on almost all machines, double checked by miod and krw
next comes the type handling surrounding these values
|
|
ok art bob
|
|
|
|
simple_{lock/unlock}.
ok art@
|
|
ok art@
|
|
Pick reasonble names for the locks involved..
ok tedu@, art@
|
|
|
|
deraadt@ dlg@.
|
|
sys/sched.h and use that to check if there's something to do.
kettenis@ thib@ ok
|
|
|
|
to be page aligned and can contain more "noise".
From mickey art@ ok
|
|
is aligned just fine and in case we allocate the last piece of the
address space we don't want wrap-around to cause us to fail.
pointed out by and ok miod@
|
|
miod@ ok
|
|
(I'm reading code, that's where this comes from).
|
|
only binary change is the line numbers to asserts.
|
|
md5@ ok.
|
|
uvm_km_kmemalloc.
"should probbaly go in" millert@, "I think it should too" deraadt@
|
|
From mickey. art@ ok
|
|
i386 will use them soon and miod wants to work on other pmaps in
parallell.
miod@ ok
|
|
miod@ ok
|
|
miod@ ok
|
|
miod@ ok
|
|
|
|
ok beck miod pedro thib
|
|
- ansi-fy
- use struct vm_map * and struct vm_map_entry * instead of _t types
- fix some indentation problems.
miod@ ok
|
|
to separate locking, on most modern machines this is not enough
since operations on short types touch other short types that share the
same word in memory.
Merge pg_flags and pqflags again and now use atomic operations to change
the flags. Also bump wire_count to an int and pg_version might go
int as well, just for alignment.
tested by many, many. ok miod@
|
|
and make sure that nothing can ever be mapped at theses addresses.
Only i386 overrides the default for now.
From mickey@, ok art@ miod@
|
|
from mickey
|
|
in 15 years, make it a void function.
ok art@
|
|
kmem_object) just so that we can remove them, just use pmap_extract
to get the pages to free and simplify a lot of code to not deal with
the list of intrsafe maps, intrsafe objects, etc.
miod@ ok
|
|
Use a simple "rw_exit_read(); rw_enter_write();" for lock upgrade, since
that's what lockmgr did anyway.
deraadt@ ok
|
|
to "pg_flags" and "pg_version", so that they are a bit easier to work with.
Whoever uses generic names like this for a popular struct obviously doesn't
read much code.
Most architectures compile and there are no functionality changes.
deraadt@ ok ("if something fails to compile, we fix that by hand")
|
|
is proper errnos.
millert@ ok and some help
|
|
ok otto@
|
|
|
|
Cleanup the code accordingly.
ok pedro@, art@
|
|
eyeballed by miod@ and pedro@
|
|
by factoring most of the checks into a macro. OK otto@
|