summaryrefslogtreecommitdiff
path: root/sys/uvm
AgeCommit message (Collapse)Author
2005-05-25This patch is mortly art's work and was done *a year* ago. Art wants to thankNiklas Hallqvist
everyone for the prompt review and ok of this work ;-) Yeah, that includes me too, or maybe especially me. I am sorry. Change the sched_lock to a mutex. This fixes, among other things, the infamous "telnet localhost &" problem. The real bug in that case was that the sched_lock which is by design a non-recursive lock, was recursively acquired, and not enough releases made us hold the lock in the idle loop, blocking scheduling on the other processors. Some of the other processors would hold the biglock though, which made it impossible for cpu 0 to enter the kernel... A nice deadlock. Let me just say debugging this for days just to realize that it was all fixed in an old diff noone ever ok'd was somewhat of an anti-climax. This diff also changes splsched to be correct for all our architectures.
2005-05-24add a new field to vm_space and use it to track the number of anonTed Unangst
pages a process uses. this is now the userland "data size" value. ok art deraadt tdeval. thanks testers.
2005-05-03repair file mmapings above 4g; found by chefren; art@ okMichael Shalayeff
2005-04-21count fpu lazy context switches; deraadt@ okMichael Shalayeff
2005-04-04Nuke pmap_bootstrap_alloc(), not used anymore.Miod Vallat
2005-03-26encrypt swap by default. cheap, and why not. can be disabled by peopleTheo de Raadt
who have machines that hit swap a lot. decided after survey of developers, we found that most turned this on. ok various
2005-03-01only use MAX_KMAPENT 2000 on i386 amd64 sparc64 and revert to 1000 on allHenning Brauer
other archs for now, beck theo ok
2005-02-19double default MAX_KMAPENT to 2000, theo okHenning Brauer
everybody please update your trees and test this, we need to find out wether there is bad side-effects from the doubling. If this does not get enough testing by our user community we will play safe and revert this for the 3.7 release, so please test.
2005-01-15In uvm_mmap(), check for size wrap to 0, and return ENOMEM in thatOtto Moerbeek
case. Do not arbitarily disallow sizes with the high bit set, they are unsigned. With lotsa help from miod@, test by danh@ ok miod@ millert@ tedu@
2004-12-30Import M_CANFAIL support from NetBSD, removes a nasty panic during low-mem ↵Niklas Hallqvist
scenarios, instead generating an ENOMEM backfeed, ok tedu@, prodded by many
2004-12-26Use list and queue macros where applicable to make the code easier to read;Miod Vallat
no change in compiler assembly output.
2004-11-29ansi + some knf, no binary changeHans-Joerg Hoexer
ok deraadt
2004-09-23vput on all paths after vget (currently unused code). from patrick latifiTed Unangst
2004-08-24change physmem divisor to 256. divide by page size was wrong. this doesTed Unangst
what i intended all along, without contrived arithmetic screw up. from discussions with mickey and deraadt
2004-08-24adapt uvm_km_pages_lowat to physmem. thanks testers. ok deraadt@Ted Unangst
2004-08-06rename sparc kill_user_windows() to pmap_unuse_final(). provide empty stubsTheo de Raadt
on all other architectures. remove last architecture dependent #ifdef from uvm code.
2004-08-03the rest of the '#if DIAGNOSTIC' -> '#ifdef DIAGNOSTIC' in the kernel; ok miod@Todd T. Fries
2004-07-21Yet another victim of inline masturbation.Artur Grabowski
Remove inline from a few functions, shrink the kernel by a few kB and make things faster. A simple compilation on amd64 spends around 5% less time in kernel. Yes, it's faster without inlines, now go buy a book about modern cpu architectures and find a chapter about the new and revolutionary thing called "cache". deraadt@ ok
2004-07-13#define __HAVE_PMAP_DIRECT and use it. requested by artTed Unangst
2004-06-21First step towards more sane time handling in the kernel -- this changesThorsten Lockert
things such that code that only need a second-resolution uptime or wall time, and used to get that from time.tv_secs or mono_time.tv_secs now get this from separate time_t globals time_second and time_uptime. ok art@ niklas@ nordin@
2004-06-13debranch SMP, have funNiklas Hallqvist
2004-06-09rename POOLPAGE macros to pmap_map_directTed Unangst
break out uvm_km_page bits for this case, no thread here lots of testing tech@, deraadt@, naddy@, mickey@, ...
2004-06-06In printf %p doesn't need extra ``0x''Alexander Yurchenko
2004-05-31explanatory comments for the uvm_km_page functions.Ted Unangst
2004-05-30only free pages if we have write permission and they are not COW.Ted Unangst
prevents msync/madvise funniness from art@ ok deraadt@
2004-05-27change uvm_km_getpage to take waitok argument and sleep if appropriate.Ted Unangst
change both the nointr and default pool allocators to using uvm_km_getpage. change pools to default to a maxpages value of 8, so they hoard less memory. change mbuf pools to use default pool allocator. pools are now more efficient, use less of kmem_map, and a bit faster. tested mcbride, deraadt, pedro, drahn, miod to work everywhere
2004-05-17typoPedro Martelletto
2004-05-07align to __LDPGSZ for anon mmap. this allows userland to be compiledTed Unangst
with a static page size on platforms where it may vary. ok deraadt@ millert@ tdeval@
2004-05-03protecing with NONE means we must drop the wired count.Ted Unangst
solves problems encountered by david@ and dtucker@ (pr3758)
2004-04-28remove mb_object*; ok teduMarkus Friedl
2004-04-20set uvm_km_pages_lowat to 128; unbreaks mbuf allocation;Markus Friedl
tested by jmc, brad, hshoexer
2004-04-19introduce a new km_page allocator that gets pages from kernel_map usingTed Unangst
an interrupt safe thread. use this as the new backend for mbpool and mclpool, eliminating the mb_map. introduce a sysctl kern.maxclusters which controls the limit of clusters allocated. testing by many people, works everywhere but m68k. ok deraadt@ this essentially deprecates the NMBCLUSTERS option, don't use it. this should reduce pressure on the kmem_map and the uvm reserve of static map entries.
2004-02-23sync of pmap_update() calls with NetBSD. pmap_update is defined away onDale Rahn
all architectures but arm, where it is needed.
2004-01-29fix prototype of pmap_update(), ok miod@Dale Rahn
2003-12-26- use 1/2 space for rijndael context in ipsecMarkus Friedl
- rijndael_set_key_enc_only() sets up context for encryption only - rijndael_set_key() always sets up full context - rijndaelKeySetupDec() gets back original protoype - uvm: use _enc_only() interface with hshoexer@, ok deraadt@
2003-12-10dstkva is not a pointer, so comparison with NULL is inappropriate.Jun-ichiro itojun Hagino
2003-12-08remove unneeded uvmfault_unlockmaps; form netbsd via Julien Bordet ↵Michael Shalayeff
<zejames@greyhats.org>; tedu@ ok
2003-12-02do not deref null ptr in uvm_markbad() returned from swapdrum_getsdp() as ↵Michael Shalayeff
others callers do
2003-11-20Sync comments with NetBSD.Alexander Yurchenko
ok millert@
2003-11-20Check for round_page() overflow in uvm_vslock()/uvm_vsunlock().Alexander Yurchenko
ok millert@ henning@ markus@ drahn@
2003-11-18faster pools. split pagelist into full, partial, and empty so we find whatTed Unangst
we're looking for. change small page_header hash table to a splay tree. from Chuck Silvers. tested by brad grange henning mcbride naddy otto
2003-11-08typos from Jonathon Gray;Jason McIntyre
2003-11-08Avoid a race condition while swapping in a process.Thomas Nordin
Tested by mickey@, henning@, ericj@, and beck@. ok mickey@
2003-10-08randomize return from uvm_map_hint. the random increment is limitedTed Unangst
to prevent fragmentation. this has the effect of randomizing unhinted mmap()s, sysV mem, and position of ld.so. tested on many archs by many developers for quite some time. use of MIN to allow m68k to play from miod@. vax is not included. ok deraadt@ miod@
2003-09-03m68k at least doesn't like random mappings. disable for now.Ted Unangst
i386 exec mappings are still random. detected by pvalchev@. ok deraadt@
2003-09-02add a random offset to uvm_map_hint. this has the primary effect ofTed Unangst
scattering ld.so and libraries around, although all mmaps will also have some jitter too. better version after some discussion with drahn testing/ok deraadt henning marcm otto pb
2003-09-01match syscallargs comments with realityHenning Brauer
from Patrick Latifi <patrick.l@hermes.usherb.ca> ok jason@ tedu@
2003-08-15change arguments to suser. suser now takes the process, and a flagsTed Unangst
argument. old cred only calls user suser_ucred. this will allow future work to more flexibly implement the idea of a root process. looks like something i saw in freebsd, but a little different. use of suser_ucred vs suser in file system code should be looked at again, for the moment semantics remain unchanged. review and input from art@ testing and further review miod@
2003-08-10Remove uvm_useracc(): misleading, gives a false sentiment of security, andMiod Vallat
eventually not used anymore. Conforming to art@'s evil plans.
2003-08-06Remove some double semicolons (hmm, do two semis equal a maxi?).Todd C. Miller
I've skipped the GNU stuff for now. From Patrick Latifi.