summaryrefslogtreecommitdiff
path: root/sys/kern
AgeCommit message (Collapse)Author
2007-05-15kill __HAVE_DEVICE_REGISTER by requiring all architectures to have aTheo de Raadt
device_register() function -- even if it does nothing. reduces the cpp-based blather different between architectures idea ok'd by miod; tested on all architectures (except a few miod will need to cleanup because he has them)
2007-05-13print lock name in some panic messages so we know what's upTed Unangst
ok krw marco pedro
2007-05-11Don't use LK_CANRECURSE for the kernel lock, okay miod@ art@Pedro Martelletto
2007-05-10also print where (primary) swap and dumps are; ok miodTheo de Raadt
2007-05-09unused apis, very dangerous: getbinuptime() getbintime(), ok artTheo de Raadt
2007-05-09evcnt_attach() is no longer used; ok miodTheo de Raadt
2007-05-09kinfo_vgetfailed has not been used for > 8 yearsTheo de Raadt
2007-05-08struct mount *rootfs is never usedTheo de Raadt
2007-05-08lockmgr_printinfo() is only called from #ifdef DIAGNOSTIC positions, so ↵Theo de Raadt
#ifdef DIAGNOSTIC it too
2007-05-08Needs an extern decl for generic soft interrupts platforms.Miod Vallat
2007-05-08First step in making the SCHED_LOCK not recursive.Artur Grabowski
- Defer the sending of SIGCHLD and waking the parent when a process goes to sleep. We set a flag in the process "P_STOPPED" and schedule a timeout that checks all processes for this flag and sends SIGCHLD and wakes the parent on those processes that have this flag set. - Delay the waking of the parent in psignal on SIGCONT until we've released the SCHED_LOCK at the end. - In issignal, check for P_SINTR as a way to see we were called from the tsleep path with SCHED_LOCK locked and don't skip locking in that case. (This is slightly ugly, but it works until we have some better way). miod@ ok (after finding and fixing an MD bug on sgi)
2007-05-05Kill disk_find and disk_resetstat that noone uses. If you ever needArtur Grabowski
them, they are still in cvs.
2007-05-05vn_access hasn't been used for ages and it's just a wrapper withArtur Grabowski
locking around VOP_ACCESS. It can go.
2007-05-04when we are in ramdisk mode, we must also disable any previous mountrootTheo de Raadt
setting that pre-setroot() code did (for instance a network boot) found by phessler, tested by reyk
2007-05-04make findblkmajor() and findblkname() MI; ok miodTheo de Raadt
2007-05-04Kill a dead variable.Artur Grabowski
Pointed out by thib@
2007-05-04- Rename rw_test_and_set to rw_cas, since most litterature uses theArtur Grabowski
test_and_set name for some other operation, while cas is generally used for compare and set (cmpxchg in intel land, cas in sparc land). - Make rw locks properly MP safe (provided that rw_cas is implemented in MD code). Most operations were MP safe except the sleep where we could have set the "I'm sleeping" flag before actually going to sleep so that the wakeup could miss us. Now, using the split tsleep, we first setup the sleep (put us on the sleep queues), then set the flag aborting the sleep if the lock has changed and then finally go to sleep. miod@ ok (and he's been prodding me for days to get this in)
2007-05-04setroot() was a ugly mix of MI and MD code, with different bugs on differentTheo de Raadt
machines. Instead -- build one solid clean MI version, and thenchange all the architectures to use it. ok various people, tested on almost all cases. (it is a 10094 line diff..)
2007-04-26enable splassert (1) by default; requested and ok manyTheo de Raadt
2007-04-23Clean up an obsolete allocator.Artur Grabowski
miod@ ok
2007-04-19Fix freeing of namecache entries in cache_purgevfs(), okay miod@ art@Pedro Martelletto
2007-04-19After we bumped the maximal number of vnodes by quite a bit we becameArtur Grabowski
painfully aware of what the comment: "This makes the algorithm O(n^2), but do you think I care?" actually means. I started to care. Fix up the cache_purgevfs algorithm to not be O(n^2) since it's not preemptible anyway and while I'm here, make this code actually return the cache entries to the pool instead of hogging them and implement a marginally faster free list. This way we return memory to the system when some parameters change. miod@ ok
2007-04-18When vslocking memory for the sysctl make sure that we aren't tryingArtur Grabowski
to wire more memory than we are allowed to. miod@ ok
2007-04-17Don't bother performing ITIMER accounting on P_SYSTEM processes (i.e. kthreads).Miod Vallat
ok art@ kettenis@
2007-04-13While splitting flags and pqflags might have been a good idea in theoryArtur Grabowski
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@
2007-04-13Move the declaration of VN_KNOTE() into vnode.h instead of havingThordur I. Bjornsson
multiple defines all over; ok tedu@
2007-04-13Remove comments talking about vnode interlock. No binary change.Alexander Bluhm
ok thib
2007-04-12Remove the lk_interlock from struct lock; Also remove the LK_INTERLOCKThordur I. Bjornsson
flag. This effectively makes the simplelock argument to lockmgr() fluff. ok miod@
2007-04-12move p_limit and p_cred into struct processTed Unangst
leave macros behind for now to keep the commit small ok art beck miod pedro
2007-04-12Allow machine-dependant overrides for the ``deadbeef'' sentinel values,Miod Vallat
and make sure that nothing can ever be mapped at theses addresses. Only i386 overrides the default for now. From mickey@, ok art@ miod@
2007-04-11Remove the simplelock argument from vrecycle();Thordur I. Bjornsson
ok pedro@, sturm@
2007-04-11remove proc from process thread list sooner in exit (notably, before waitingTed Unangst
for the list to become empty) ok art
2007-04-11Instead of managing pages for intrsafe maps in special objects (aka.Artur Grabowski
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
2007-04-11lockmgr keeps losing code, call 911!Miod Vallat
ok pedro@ art@
2007-04-10undoTed Unangst
2007-04-10remove duplicate check for uio_resid == 0 inThordur I. Bjornsson
spec_read(); ok pedro@
2007-04-10``it's'' -> ``its'' when the grammar gods require this change.Miod Vallat
2007-04-10remove process from thread list sooner in exit (notably, before waitingTed Unangst
for the list to become empty)
2007-04-05jason crawford noticed that the rthreads diff didn't compile with rthreads!Ted Unangst
2007-04-04Implement RW_DOWNGRADE that downgrades an exclusive lock to a shared lockArtur Grabowski
without letting any other exclusive locks in between. As opposed to upgrading locks, this is easy and solves real problems. deraadt@ ok
2007-04-04Mechanically rename the "flags" and "version" fields in struct vm_pageArtur Grabowski
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")
2007-04-04Implement clock_gettime(CLOCK_PROF) since it's so simple.Artur Grabowski
deraadt@ ok
2007-04-04oursleves -> ourselvesPedro Martelletto
2007-04-04Don't remove the process from the threads queue in proc_zap() as thatPedro Martelletto
currently already happens in exit1(), okay art@
2007-04-03Start moving state that is shared among threads in a process intoArtur Grabowski
a new struct. Instead of doing a huge rename and deal with the fallout for weeks, like other projects that need no mention, we will slowly and carefully move things out of struct proc into a new struct process. - Create struct process and the infrastructure to create and remove them. - Move threads in a process into struct process. deraadt@, tedu@ ok
2007-03-31Add missing bintime2timespec().Mark Kettenis
ok art@
2007-03-30change a misplaced splnet() in kqueue_poll() to splhigh(). fixes aReyk Floeter
random panics with kqueue under high load with many events. tested by me cookies for dlg@ deraadt@ ok dlg@ tedu@ art@
2007-03-30replace lockmgr locks with rwlocks. these are no longer recursive, but theyDavid Gwynne
weren't used recursively anyway. tested by hsoexer@ fkr@ ok pedro@
2007-03-27Remove an #ifdef LFS chunk from dk_mountroot();Thordur I. Bjornsson
ok pedro@
2007-03-25Garbage collect CPU_CLOCKUPDATE since it was only used by i386.Artur Grabowski
from brad.