summaryrefslogtreecommitdiff
path: root/sys/kern
AgeCommit message (Collapse)Author
2008-07-18Add a macro that clears the want_resched flag that need_resched sets.Artur Grabowski
Right now when mi_switch picks up the same proc, we didn't clear the flag which would mean that every time we service an AST we would attempt a context switch. For some architectures, amd64 being probably the most extreme, that meant attempting to context switch for every trap and interrupt. Now we clear_resched explicitly after every context switch, even if it didn't do anything. Which also allows us to remove some more code in cpu_switchto (not done yet). miod@ ok
2008-07-18Add support for the kernel to recognize, load and execute positionKurt Miller
independent executables using the uvm_map_pie() function to randomize the load address. okay miod@, kettenis@, drahn@
2008-07-14Don't lock timeouts in db_show_callout.Artur Grabowski
All cpus are stopped and this cpu blocks all interrupts. It doesn't make sense to grab locks that ddb can then jump past with longjmp. Noticed by Pierre Riteau. I just forgot about the bug until reminded today.
2008-07-11Add timeout_add_{tv,ts,bt,sec,usec,nsec} so that we can add timeoutsBret Lambert
in something other than clock ticks. From art@'s punchlist and (for the time being) not yet used. "you're doing it wrong" art@,ray@,otto@,tedu@ ok art@
2008-07-11de-__inline a trio of functions to shave some space.Bret Lambert
ok art@
2008-07-07Shorten the sensor description and reserve room for optional charactersMarc Balmer
only when they are needed. Makes locations like -123d45m,-123d45m fit.
2008-07-06Add the position to the sensor description.Marc Balmer
discussed with otto, sthen, ckuethe. ok otto
2008-07-05re-introduce vdrop() to signal a lost intrest in a vnode;Thordur I. Bjornsson
ok art@
2008-06-27Do not disallow kernel crash dumps on panic if swap encryption is enabled,Miod Vallat
as dumpsys() will now clear the sensitive information. ok djm@ (and dumpsys changes too)
2008-06-26First pass at removing clauses 3 and 4 from NetBSD licenses.Ray Lai
Not sure what's more surprising: how long it took for NetBSD to catch up to the rest of the BSDs (including UCB), or the amount of code that NetBSD has claimed for itself without attributing to the actual authors. OK deraadt@
2008-06-25allow to install and boot the OpenBSD A6 partition and disklabel in anReyk Floeter
extended DOS partition. the concept of extended partitions is very simple, it is just another mbr at the partition offset (well, the standard "EBR" is a linked list with a few limitations, but this diff works with both variants). this diff has been in the snapshots for a while. with input from weingart@ and krw@ ok deraadt@
2008-06-14A bunch of pool_get() + bzero() -> pool_get(..., .. | PR_ZERO)Michael Knudsen
conversions that should shave a few bytes off the kernel. ok henning, krw, jsing, oga, miod, and thib (``even though i usually prefer FOO|BAR''; thanks for looking.
2008-06-14oldnointr pool allocator is no longer used or necessary.Artur Grabowski
2008-06-14Belt, suspenders, duct tape and glue.Artur Grabowski
In brelse, if we end up in the B_INVAL case without mappings, check for B_WANTED and wake up the sleeper if there's one before freeing the buffer. This shouldn't happen, but it looks like there might actually be some dodgy corner cases in nfs where this could just happen if the phase of the moon is right and the wind is blowing from the right direction. thib@ ok
2008-06-13back out stupid vnode change that was unintentionally includedBob Beck
with biomem and art has no idea how it got there. ok art@ thib@
2008-06-13Delete vfs_bufstats() leftovers and unbreak compile with -DDEBUGRainer Giedat
Ok reyk@, "kill kill kill" thib@
2008-06-12use PR_ZERO instead of a bzero() right after the pool_get();Thordur I. Bjornsson
ok blambert@
2008-06-12Oops, do not dereference a NULL function pointer used as an array endMiod Vallat
marker; found the hard way by sturm@
2008-06-12Remove silly panic when disestablish cookie doesnt existMarco Peereboom
ok art
2008-06-12Bring biomem diff back into the tree after the nfs_bio.c fix went in.Theo de Raadt
ok thib beck art
2008-06-12Reorder foreign binaries probe list, so that more permissive ones are at theMiod Vallat
end. Makes static linux binaries run again.
2008-06-11Don't use the reference count to create the sensor name; we can end upMarc Balmer
with sensors with the same name. The sensor name is now ever increasing unless the reference count drops to zero, in which case the naming restarts at zero as well.
2008-06-11back out biomem diff since it is not right yet. Doing very largeTheo de Raadt
file copies to nfsv2 causes the system to eventually peg the console. On the console ^T indicates that the load is increasing rapidly, ddb indicates many calls to getbuf, there is some very slow nfs traffic making none (or extremely slow) progress. Eventually some machines seize up entirely.
2008-06-11store a pointer to the stack side state key in the mbuf packetHenning Brauer
header inbound. on the outbound side, we take that and look for the key that is the exact opposite, and store that mapping in the state key. on subsequent packets we don't have to do the lookup on outbound any more. almost unable to get real benchmarks going here, we know for sure this gives a more than 5% increase in forwarding performance. many thanks to ckuethe for stress- and performance-testing. ok ryan theo
2008-06-11add $OpenBSD$ tag.Thordur I. Bjornsson
I hate it, art@
2008-06-10Fix buffer cache pending read statistics by ensuring we can identifyBob Beck
biowait() reads that do *not* come from the buffer cache - we use the B_RAW flag to identify these at art's suggestion - since it makes sense and the flag was not being used. this just flags all these buffers with B_RAW - biodone already ignores returned buffers marked B_RAW. ok art@
2008-06-10posix compliant permission checks for sending signals. Based on diffsHans-Joerg Hoexer
provided by christian ehrhardt (Christian_Ehrhardt@genua.de) and micky, thanks! ok deraadt millert
2008-06-10Buffer cache revampBob Beck
1) remove multiple size queues, introduced as a stopgap. 2) decouple pages containing data from their mappings 3) only keep buffers mapped when they actually have to be mapped (right now, this is when buffers are B_BUSY) 4) New functions to make a buffer busy, and release the busy flag (buf_acquire and buf_release) 5) Move high/low water marks and statistics counters into a structure 6) Add a sysctl to retrieve buffer cache statistics Tested in several variants and beat upon by bob and art for a year. run accidentally on henning's nfs server for a few months... ok deraadt@, krw@, art@ - who promises to be around to deal with any fallout
2008-06-09Update access(2) to have modern semantics with respect to X_OK andTodd C. Miller
the superuser. access(2) will now only indicate success for X_OK on non-directories if there is at least one execute bit set on the file. OK deraadt@ thib@ otto@
2008-06-09rename arc4random_bytes => arc4random_buf to match libc's nicer name;Damien Miller
ok deraadt@
2008-06-08use sched_is_idle() and nuke the sched_chooseproc prototype since weThordur I. Bjornsson
already have on in sched.h
2008-06-07Remove the OLF os bitmask field from the compat probe functions array;Miod Vallat
ok deraadt@
2008-06-04olf support starts to die (easy stuff first); ok miodTheo de Raadt
2008-05-23update sem_otime on semop(); reported by mkbucc AT gmail.comDamien Miller
ok deraadt@ millert@
2008-05-23tputchar() can put characters on the tty output queue if clocal is set,Theo de Raadt
fixing (status) ^T support on some ttys without carrier ok pyr
2008-05-23Deal with the situation when TCP nfs mounts timeout and processesThordur I. Bjornsson
get hung in nfs_reconnect() because they do not have the proper privilages to bind to a socket, by adding a struct proc * argument to sobind() (and the *_usrreq() routines, and finally in{6}_pcbbind) and do the sobind() with proc0 in nfs_connect. OK markus@, blambert@. "go ahead" deraadt@. Fixes an issue reported by bernd@ (Tested by bernd@). Fixes PR5135 too.
2008-05-23Make rd act more like a 'normal' disk device, allowing the elimination ofKenneth R Westerback
'fakerootdev' hackery. This allows us to bring back miod@'s r1.70 subr_disk.c change to avoid the GENERIC dance when rootdev has been initialized. This in turn re-enables raidframe root devices. Add a nice panic if rootdev can't be initialized, displaying the name of the device that didn't work rather than just blowing up by de-referencing NULL. ok deraadt@
2008-05-22use PR_ZERO instead of calling bzero directlyThordur I. Bjornsson
after pool_get(); ok beck@
2008-05-22Use LIST_FOREACH() instead of handrolling.Thordur I. Bjornsson
From: Pierre Riteau pierre.riteau_att_gmail.com OK miod@
2008-05-22kill 2 bogus ARGUSED and use the LIST_FOREACH() macroThordur I. Bjornsson
instead of handrolling... ok miod@
2008-05-16merge vfs_opv_init into vfs_op_init and remove the former,Thordur I. Bjornsson
as they where called consecutively in vfs_init.
2008-05-16remove some old debug cruft, make some comments nicerThordur I. Bjornsson
and shuffle declerations around. OK blambert@
2008-05-16unsigned -> u_int and warnmess -> warnmsgThordur I. Bjornsson
for pool_sethardlimit. prodded by and ok tedu@
2008-05-11set p_flag to 0 sooner, so we don't overwrite the thread flag. and correctlyTed Unangst
free things when exiting a threaded proc. from philip guenther
2008-05-11share signal handlers for rthreads. from philip guentherTed Unangst
2008-05-09Add SO_BINDANY socket option from BSD/OS.Markus Friedl
The option allows a socket to be bound to addresses which are not local to the machine. In order to receive packets for these addresses SO_BINDANY needs to be combined with matching outgoing pf(4) divert rules, see pf.conf(5). ok beck@
2008-05-08retire vn_default_error() and replace all instancesThordur I. Bjornsson
with eopnotsupp() instead; ok blambert@
2008-05-07remove the vfc_mountroot member from vfsconf andThordur I. Bjornsson
do appropriate cleanup; OK deraadt@
2008-05-07check TIOCSIG for 0 and do not send that to psignal() and pgsignal()Theo de Raadt
ok fgsch
2008-05-07Implement routing priorities. Every route inserted has a priority assignedClaudio Jeker
and the one route with the lowest number wins. This will be used by the routing daemons to resolve the synchronisations issue in case of conflicts. The nasty bits of this are in the multipath code. If no priority is specified the kernel will choose an appropriate priority. Looked at by a few people at n2k8 code is much older