summaryrefslogtreecommitdiff
path: root/sys/kern/init_main.c
AgeCommit message (Collapse)Author
2001-11-10Merge in some parts of the ubc work that has been done in NetBSD that are notArtur Grabowski
UBC, but prerequsites for it. - Create a daemon that processes async I/O (swap and paging in the future) requests that need processing in process context and that were processed in the pagedaemon before. - Convert some ugly ifdef DIAGNOSTIC code to less intrusive KASSERTs. - misc other cleanups.
2001-11-07Add an alignment argument to uvm_map that specifies an alignment hintArtur Grabowski
for the virtual address.
2001-11-06Replace inclusion of <vm/foo.h> with the correct <uvm/bar.h> when necessary.Miod Vallat
(Look ma, I might have broken the tree)
2001-11-06Let fork1, uvm_fork, and cpu_fork take a function/argument pair as argument,Artur Grabowski
instead of doing fork1, cpu_set_kpc. This lets us retire cpu_set_kpc and avoid a multiprocessor race. This commit breaks vax because it doesn't look like any other arch, someone working on vax might want to look at this and try to adapt the code to be more like the rest of the world. Idea and uvm parts from NetBSD.
2001-11-06More sync to NetBSD.Artur Grabowski
- Use malloc/free instead of MALLOC/FREE for variable sized allocations. - Move the memory inheritance code to sys/mman.h and rename from VM_* to MAP_* - various cleanups and simplifications.
2001-10-11Count pages not buffers. This fixes deadlock condition which mainlyGrigoriy Orlov
occurs on the fs with large block size. We can have situation where numcleanbufs < locleanbufs and numdirtybufs < hidirtybufs. So, buffer flushing daemon never wakeups and other processes asleep forever waiting for a clean buffers. We count pages only for the dirty buffers which are on freelist(BQ_DIRTY). niklas@ found this. Rename flasher to cleaner. Suggested by costa@. Discussed with niklas@, costa@, millert@, art@. Ok deraadt@.
2001-09-29Move signal initialization before dostartuphooks to avoid panic atGrigoriy Orlov
start of raid autoconfiguration thread. Required for upcoming RAIDFrame code update. From Thierry Deval <TDeval@PrimeOBJ.COM>
2001-09-17 The first implementation of the buffer flushing daemon. It solves ourGrigoriy Orlov
problem when syncer can't do its work because of vnode locks (PR1983). This also solves our problem where bigger number of buffers results in a much worse perfomance. In my configuration (i386, 128mb, BUFCACHEPERCENT=35) this speedup tar -xzf ports.tar.gz in 2-4 times. In configuration with low number of buffers and softupdates this may slowdown some operations up to 15%. The major difference with current buffer cache is that new implementation uses separate queues for dirty and clean buffers. I.e. BQ_LRU and BQ_AGE replaced by BQ_CLEAN and BQ_DIRTY. This simplifies things a lot and doesn't affect perfomance in a bad manner. Thanks to art and costa for pointing on errors. Tested by brad, millert, naddy, art, jj, camield art, millert ok.
2001-09-12Rename timeout_init to timeout_startup to deconfuse a bit.Artur Grabowski
2001-09-07make starting of init slightly cleaner. Also sets initproc earlier.Artur Grabowski
2001-08-23We can now move timeout_init into main().Artur Grabowski
2001-07-27Startup hooks. Can be used for providing root/swap devices from deviceNiklas Hallqvist
systems which want configuration to finish late, like I2O. Implemented via a general hooks mechanism which the shutdown hooks have been converted to use as well. It even has manpages!
2001-07-05Get rid of REAL_CLISTS. It was never implemented and the tentacles areArtur Grabowski
everywhhere.
2001-06-27no more cpu_set_init_frameArtur Grabowski
2001-06-27vm_pageout.h bye bye.Artur Grabowski
2001-06-27remove old vmArtur Grabowski
2001-06-23merge crypto/crypto{dev,}.h to crypto/cryptodev.h, to avoid name conflicts ↵Theo de Raadt
inside OpenSSL codebase
2001-06-23Add pipe_init, call it from main, move the pool initialization into it.Artur Grabowski
2001-06-22KNFTheo de Raadt
2001-05-17convert mbuf and cluster allocation to pool, mostly from NetBSDNiels Provos
okay art@ miod@
2001-05-16Use pool to allocate struct filedesc0 and struct file.Artur Grabowski
2001-05-05Rename configure() to cpu_configure().Artur Grabowski
Move it from cpu_startup() to main().
2001-04-06Get rid of vm_pmap from struct vmspace.Artur Grabowski
2001-04-02On popular demand, the Linux-compatibility clone(2) implementation basedNiklas Hallqvist
on NetBSD's code, as well as some faked Posix RT extensions by me. This makes at least simple linuxthreads tests work.
2001-03-16Use CIRCLEQ macros for mountlist.Artur Grabowski
2001-03-16Use a lockmgr lock for keeping down the vslocked memory in sysctlArtur Grabowski
instead of a home-brew equivalent.
2001-02-05only attach pseudo-device if it's counter is above zero; deraadt@, maja@ okMichael Shalayeff
2001-01-012001Aaron Campbell
2000-11-08If MD code has defined curproc, don't do it here.Artur Grabowski
This is not a perfect solution.
2000-06-18Process ID 5 is now the crypto kernel thread.Angelos D. Keromytis
2000-06-16take MIN/MAX from param.h, okay theo@Niels Provos
2000-06-05Changes to exit handling.Artur Grabowski
cpu_exit no longer frees the vmspace and u-area. This is now handled by a separate kernel thread "reaper". This is to avoid sleeping locks in the critical path of cpu_exit where we're not allowed to sleep. From NetBSD
2000-03-23Don't reinitialize the tsleep and ITIMER_REAL timers all the time.Artur Grabowski
The function and the argument never change.
2000-03-23Adapt roundrobin and schedcpu to the new timeout API.Artur Grabowski
2000-03-22some more machine_stack_grows_upMichael Shalayeff
2000-03-20bring proto into scopeTheo de Raadt
2000-03-17Cryptographic services framework, and software "device driver". TheAngelos D. Keromytis
idea is to support various cryptographic hardware accelerators (which may be (detachable) cards, secondary/tertiary/etc processors, software crypto, etc). Supports session migration between crypto devices. What it doesn't (yet) support: - multiple instances of the same algorithm used in the same session - use of multiple crypto drivers in the same session - asymmetric crypto No support for a userland device yet. IPsec code path modified to allow for asynchronous cryptography (callbacks used in both input and output processing). Some unrelated code simplification done in the process (especially for AH). Development of this code kindly supported by Network Security Technologies (NSTI). The code was writen mostly in Greece, and is being committed from Montreal.
2000-02-28Optimized fdalloc as in Banga and Mogul paper:Niels Provos
http://www.usenix.org/publications/library/proceedings/usenix98/banga.html
2000-01-31re-add fixed vfork code from artTheo de Raadt
2000-01-31undo vfork changes, since non-UVM was not consideredTheo de Raadt
2000-01-28Change fork1() from taking forktype and rforkflags, into a single flagsArtur Grabowski
argument. Let sys_rfork build the arguments to fork1() and do the sanity checks itself.
2000-01-012000Theo de Raadt
1999-11-05more stack direction fixes; art@ okMichael Shalayeff
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-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-07-15vm_offset_t -> {v,p}addr_t ; vm_size_t -> {v,p}size_tArtur Grabowski
1999-04-22better panic messageArtur Grabowski
1999-03-01re-do how copyright messages are doneTheo de Raadt
1999-02-26initialize uvm, make allocations work with uvm, namchanges for uvm, etcArtur Grabowski
1999-01-11kthread abstraction from NetBSD, implemented with our rforkNiklas Hallqvist