summaryrefslogtreecommitdiff
path: root/sys/kern
AgeCommit message (Collapse)Author
1999-12-05Collect statistics on sync and async writes.Artur Grabowski
From NetBSD.
1999-12-05With soft updates, some buffers will be remarked as dirty after being written.Artur Grabowski
Handle this when syncing filesystems when unmounting. From NetBSD.
1999-12-05Use VONSYNCLIST to see if we should remove a vnode from the sync list insteadArtur Grabowski
of looking at v_dirtyblkhd.
1999-12-05Add an m_inject()Angelos D. Keromytis
1999-12-05Add a new vnode flag "VONSYNCLIST" that indicates if the vnode is on theArtur Grabowski
syncers work list. From NetBSD.
1999-12-05Add a new function "speedup_syncer()" that pushes the syncer to work harder.Artur Grabowski
Used by the new soft updates code.
1999-12-05Unlock the vnode in inactive even when v_usecount == 0.Artur Grabowski
1999-12-05Release mountlist_slock if vfs_busy fails.Artur Grabowski
1999-12-05Indentation fixes.Artur Grabowski
1999-12-02Indentation to make the code more readable.Artur Grabowski
1999-12-02Init the buffer dependency list.Artur Grabowski
1999-12-02snprintf in kernel; assar@stacken.kth.seTheo de Raadt
1999-11-29revents already cleared; dTheo de Raadt
1999-11-29handle invalid file descriptors in poll more carefully; dTheo de Raadt
1999-11-25Use PAGE_SIZE instead of NBPG.Artur Grabowski
1999-11-25Annoying unnecessary space.Artur Grabowski
1999-11-21if select returns writable on a pipe, the write should not returnTheo de Raadt
EWOULDBLOCK. turns out the two checking conditions were not the same, and a certain use of rsync uncovered the bug by chewing all available cpu time; fix from art
1999-11-17allow to compile without -DFFS. okay deraadt@David Leonard
1999-11-13FIBMAP ioctl from Linux, only usable on ISO 9660 FS. Note that the lbaAngelos D. Keromytis
returned is in 512-byte sectors, so if you're going to use it for things like DVD, you need to divide the result by 4 (for 2048-byte sectors). OK deraadt@
1999-11-11Pool will not work with old vm and is only used by uvm. Remove non-uvm code.Artur Grabowski
1999-11-07add APM powerhooks.Niels Provos
from NetBSD, Sat Jun 26 08:25:25 1999 UTC by augustss: Add powerhooks, i.e., the ability to register a function that will be called when the machine does a suspend or resume. XXX Will go away when Jason's kevents come to life.
1999-11-05s/memset/bzero/; art@ okMichael Shalayeff
1999-11-05more stack direction fixes; art@ okMichael Shalayeff
1999-10-29Use M_PIPE instead of M_TEMP.Artur Grabowski
1999-10-29Remove the "Direct write" code.Artur Grabowski
We never used it and some parts of it slowed the code down. Generally clean up the pipe code.
1999-10-27Actually make ASYNC pipes generate SIGIO.Niklas Hallqvist
1999-10-18force FDSCRIPTS after include files are pulled inTheo de Raadt
1999-10-14Fix for PR 871.cmetz
This fix is taken from BSD/OS (the file in question being BSD licensed). It continues to remove a datagram from a socket receive buffer even if there is an error on the copy-out, so as to leave the buffer in a reasonable state. Before, the kernel would stop in mid-receive if the copy-out failed, and the buffer's structural requirements would be violated (since the start of a datagram must be an address iff ). Note that if the user provides any invalid addresses as arguments to a recvmsg(), the datagram at the front of the buffer will be discarded. The more correct behavior would be not to remove this datagram if the arguments are invalid. Implementing this behavior requires a lot of significant changes, and socket receives are a critical path. Also included are two simple and fairly obvious fixes from the same source. If non-blocking I/O is set, it makes sure the receieve is non-blocking. It also fixes a slightly over-aggressive optimization.
1999-10-11for AF_UNIX, do not follow symlinks when creating sockets, terminateTheo de Raadt
names more carefully; art
1999-10-04save user configuration in some magic buffer, which config -e can read; majaTheo de Raadt
1999-10-01remove dependency on external storage managed by mclusters andJason Wright
add more support for external managers
1999-09-27do not attempt to run NetBSD binaries using native emulkstailey
1999-09-25clean upkstailey
1999-09-20clean upkstailey
1999-09-19improved OS brand PT_NOTE detectionkstailey
1999-09-19use PT_NOTE to identify NetBSD ELF64 binarieskstailey
1999-09-12Fix rootdev handling, use disk checksums to find the device we were bootedTobias Weingartner
from. Hopefully this will fix all the hangs/panics where the root device was not found.
1999-09-12Add COMPAT_NETBSD. Currently only works for ELF64. Many missing system calls.kstailey
1999-09-12grammerkstailey
1999-09-12style(9)Niklas Hallqvist
1999-09-10use clrnd(round_page(size)) instead of roundup(size, CLBYTES).Artur Grabowski
They do the same thing, but the former is noticeably faster on sparc
1999-09-10use round_page(foo) instead of roundup(foo, NBPG)Artur Grabowski
1999-09-10ELF64kstailey
1999-09-05Use stathz to calculate CPU time when available; fixes CPU calculationThorsten Lockert
problems when stathz runs at different speed than hz/profhz.
1999-08-26change a & to &&. From dima@best.netArtur Grabowski
1999-08-20more paranoid check of the refcount in vfs_registerArtur Grabowski
1999-08-17There was a line missing in the commit from rev 1.6 that resulted inTodd C. Miller
an uninitialized variable; art@stacken.kth.se
1999-08-17initialize an incorrectly uninitialized variableArtur Grabowski
1999-08-17New cpu_fork API to take a stack in which you point the child's stackpointerNiklas Hallqvist
to, at the bottom or the top, depending on your architecture's stack growth direction. This is in preparation for Linux' clone(2) emulation. port maintainers, please check that I did the work right.
1999-08-15Adopt NetBSD fix for scheduler problems (nice was broken). From the NetBSDPaul Janzen
commit messages: Scheduler bug fixes and reorganization * fix the ancient nice(1) bug, where nice +20 processes incorrectly steal 10 - 20% of the CPU, (or even more depending on load average) * provide a new schedclock() mechanism at a new clock at schedhz, so high platform hz values don't cause nice +0 processes to look like they are niced * change the algorithm slightly, and reorganize the code a lot * fix percent-CPU calculation bugs, and eliminate some no-op code === nice bug === Correctly divide the scheduler queues between niced and compute-bound processes. The current nice weight of two (sort of, see `algorithm change' below) neatly divides the USRPRI queues in half; this should have been used to clip p_estcpu, instead of UCHAR_MAX. Besides being the wrong amount, clipping an unsigned char to UCHAR_MAX is a no-op, and it was done after decay_cpu() which can only _reduce_ the value. It has to be kept <= NICE_WEIGHT * PRIO_MAX - PPQ or processes can scheduler-penalize themselves onto the same queue as nice +20 processes. (Or even a higher one.) === New schedclock() mechanism === Some platforms should be cutting down stathz before hitting the scheduler, since the scheduler algorithm only works right in the vicinity of 64 Hz. Rather than prescale hz, then scale back and forth by 4 every time p_estcpu is touched (each occurance an abstraction violation), use p_estcpu without scaling and require schedhz to be generated directly at the right frequency. Use a default stathz (well, actually, profhz) / 4, so nothing changes unless a platform defines schedhz and a new clock. [ To do: Define these for alpha, where hz==1024, and nice was totally broke.] === Algorithm change === The nice value used to be added to the exponentially-decayed scheduler history value p_estcpu, in _addition_ to be incorporated directly (with greater weight) into the priority calculation. At first glance, it appears to be a pointless increase of 1/8 the nice effect (pri = p_estcpu/4 + nice*2), but it's actually at least 3x that because it will ramp up linearly but be decayed only exponentially, thus converging to an additional .75 nice for a loadaverage of one. I killed this: it makes the behavior hard to control, almost impossible to analyze, and the effect (~~nothing at for the first second, then somewhat increased niceness after three seconds or more, depending on load average) pointless. === Other bugs === hz -> profhz in the p_pctcpu = f(p_cpticks) calcuation. Collect scheduler functionality. Try to put each abstraction in just one place.