summaryrefslogtreecommitdiff
path: root/sys/kern
AgeCommit message (Collapse)Author
2009-02-17ensure all pi_magic checks are inside DIAGNOSTICTheo de Raadt
2009-02-16at tedu's request, bring back the basic single "first word" PI_MAGIC checkTheo de Raadt
since it is essentially free. To turn on the checking of the rest of the allocation, use 'option POOL_DEBUG' ok tedu
2009-02-16Disable pool debug stuff for the release (it has a performance hit, butTheo de Raadt
between releases we may want to turn it on, since it has uncovered real bugs) ok miod henning etc etc
2009-02-13use nitems(); dunnoseriously@gmailTheo de Raadt
2009-02-10Sync with current MI tree.Alexander Yurchenko
ok miod@
2009-02-09Don't panic if m_copyback() is working on a M_READONLY() mbuf. The old versionClaudio Jeker
did not care either and with this packets from drivers with external buffers (e.g. wpi(4)) would trigger this panic through pf(4). Found the hard way by Tim van der Molen tbvdm (at) xs4all (dot) nl
2009-02-09two more consistency checks for a disklabel, to prevent havoc laterOtto Moerbeek
on; prompted by Thorsten Glaser; ok miod@ krw@
2009-02-04Make m_copyback() a lot smarter. Make it use all of the last mbufClaudio Jeker
(M_TRAILINGSPACE()) and allocate one cluster if needed (instead of chaining many mbufs). Somewhat needed for the rl(4) fix to ensure that the ethernet header is in one mbuf for sure. Tested by landry@ and myself
2009-01-29Remove KASSERT() that could trigger when an rthread in sigwait()Philip Guenthe
got multiple signals before tsleep() could wakeup. Also, POSIX says that sigwait() should never return EINTR, so map that to ERESTART. ok kurt@, tedu@ fixes the panic encountered by ariane@ with kaffe
2009-01-29Switch struct stat's timespec members to the names standardized inPhilip Guenthe
POSIX 1003.1-2008, with compatibility macros for the names used in previous version of OpenBSD. Update all the references in the kernel to use the new, standard member names. ok'ed by miod@, otto@; ports build test by naddy@
2009-01-27make drivers tell the mclgeti allocator what their maximum ring size isDavid Gwynne
to prevent the hwm growing beyond that. this allows the livelock mitigation to do something where the hwm used to grow beyond twice the rx rings size. ok kettenis@ claudio@
2009-01-26Remove unneeded brackets that where left over from when these were macros.Claudio Jeker
OK dlg@
2009-01-24propagate the O_EXCL flag down to the file systems, by settingThordur I. Bjornsson
VA_EXCLUSIVE. Handle this in NFS, also in NFS use arc4random() for the create verifier instead of an uninitialized long and the address of the first interface (which is likely to be lo0). Lifted from NetBSD with small tweaks; "looks good", miod@ OK blambert@
2009-01-21Pass the new pointer to sysctl_clockrate(), so that trying to change theMiod Vallat
value of kern.clockrate with sysctl(3) correctly sets errno on failure. PR #6040, ok tedu@
2009-01-15Fix a memory leak in in the case where semget() is called with aOwain Ainsworth
non-private key and flags of IPC_CREAT. Before, if we found an existing semaphore, we jumped to the return and forgot the free the preallocated semaphore. Instead, free it before we jump. Bug reported by Roland Bramm; thanks! ok miod@.
2009-01-15Surround WEHOLDIT() macro with braces to make it more safe.Alexander Yurchenko
No binary change. ok otto@
2009-01-14correct test when checking the default operation entry.Federico G. Schwindt
from patrick keshishian <sidster at boxsoft dot com>
2009-01-13Change sbreserve() to return 0 on success, 1 on failure, as god intended.Bret Lambert
This sort of breaking with traditional and expected behavior annoys me. "yes!" henning@
2009-01-12make compile with #define MSTS_DEBUG; ok mbalmer@Kevin Steves
2009-01-121) remove invalid comment since first field is not message typeKevin Steves
in msts 2) modify debug string to not print first field (which is not the sentence message type) ok mbalmer@
2009-01-12comment should be epoch not midnight; ok mbalmer@Kevin Steves
2009-01-11backout revision 1.109Owain Ainsworth
"keep b_proc set to the process, thats doing the io as advertised" This broke dvd playing on my laptop (page fault trap in vmapbuf in the physio path). thib's cookie privileges are hereby suspended until further notice.
2009-01-09keep b_proc set to the proccess,Thordur I. Bjornsson
thats doing the io as advertised closes PR3948 OK tedu@ (and blambert@ I think).
2009-01-04properly terminate fake argument list.Thordur I. Bjornsson
From NetBSD; OK deraadt@
2009-01-01copyright_year++;Miod Vallat
2009-01-01use #define MAXFLDS vs. 4 here; ok mbalmer@Kevin Steves
2008-12-25don't need #include <sys/queue.h>; ok mbalmer@Kevin Steves
CVS ---------------------------------------------------------------------
2008-12-25remove unused struct member; ok mbalmer@Kevin Steves
2008-12-25spelling in comments; ok mbalmer@Kevin Steves
2008-12-24EVFILT_WRITE filters should return the amount of space remaining in theMark Kettenis
write buffer, not the amount of space used. It is debatable wether the size of the write buffer is set by the size of the buffer or the high water mark. For now, go with the former since that seems to be more consistent with what the pipe and socet code does. It is also what NetBSD does. ok deraadt@
2008-12-23i got emptypages and fullpages mixed up in pool_walk. this now shows itemsDavid Gwynne
in fullpages that have been allocated. spotted by claudio@
2008-12-23add pool_walk as debug code.David Gwynne
this can be used to walk over all the items allocated with a pool and have them examined by a function the caller provides. with help from and ok tedu@
2008-12-23record the offset into each pool page that item allocations actually beginDavid Gwynne
on, aka, its coloring. ok tedu@
2008-12-23The splvm() protection is way outdated, only splnet is needed to protectTheo de Raadt
this pool (and the mbstat variables, and a few other things in certain cases) ok mikeb, tedu, and discussion with others...
2008-12-22Doh. Correct address in bcopy -- m->m_data not &m->m_data -- this should fixClaudio Jeker
the issues seen by damien@. OK dlg@, damien@
2008-12-20protect mbstat with spl; ok claudio mikebTheo de Raadt
2008-12-16Move the functionality of psignal() to a new function ptsignal()Philip Guenthe
that takes an additional argument "type" that indicates whether the signal is for the process, just a particular thread, or propagated to a thread because it's not caught or blocked. psignal() becomes a wrapper that does the first of those. So that sys_kill() can tell apart signals for the process and signals for the process's original thread, the tid of the original thread is defined as its pid + THREAD_PID_OFFSET. ok tedu@ art@ andreas@ kurt@ "better early than late" deraadt@
2008-12-14Make sure the low water mark for cluster pools isn't 0 such that networkMark Kettenis
drivers are guaranteed to make progress. We could probably set it to 1, but we set it to 2, to make sure drivers that link descriptors don't link a descriptor back to itself. ok deraadt@, dlg@
2008-12-13note to everyone: nitems(pointer) is 0, not what you wantTheo de Raadt
2008-12-11export per-interface mbuf cluster pool use statistics out to userlandTheo de Raadt
inside if_data, so that netstat(1) and systat(1) can see them ok dlg
2008-12-11a little bit of paranoiaTheo de Raadt
2008-12-04enable to large clusters again now that arts put the pool allocator forDavid Gwynne
them in again.
2008-12-04Put back the support for pools > PAGE_SIZE. This time the compare functionArtur Grabowski
works and there's even some sanity checks that it actually returns what we expect it to return.
2008-12-03add vscsi(4), a virtual scsi controller that passes all scsi requests up toDavid Gwynne
userland for handling. this is to scsi what tun(4) is for networks. this is going into the tree so i can work on some crazy scsi stuff, but its not being enabled since it is useless unless you're working on some crazy scsi stuff.
2008-11-30clarify allocationTheo de Raadt
2008-11-29need splvm() around the call to m_extfree() in the defraggerTheo de Raadt
2008-11-26Doh, do not commit before compile. Found by sthen@Claudio Jeker
2008-11-26Do a quick return if m->m_next is NULL in m_defrag() because there is nothingClaudio Jeker
todo. Discussed with deraadt@ and dlg@
2008-11-26only the pool_get() needs to be spl protected; ok claudio dlgTheo de Raadt
2008-11-25m_defrag() a mbuf chain defragmenter. It will collaps a mbuf chain into aClaudio Jeker
single buffer without changing the head mbuf. This is done with a lot of magic so there will be dragons. Tested and OK dlg@, kettenis@