summaryrefslogtreecommitdiff
path: root/sys/uvm
AgeCommit message (Collapse)Author
2005-12-10Don't check/free new_entry here, since it can't have been set. SpottedKenneth R Westerback
by lint. "Probably a bogus cut'n paste." says moid. ok miod@ pedro@
2005-12-10{en,re}trys -> {en,re}tries; eyeballed by jmc@Miod Vallat
2005-11-29apply patch from david hill for two netbsd prs:Ted Unangst
14060 skip MADV_SEQUENTIAL if refaulting 18037 missing pageactivate tested for some time by jolan krw
2005-11-25do not use any casting in the atop/ptoa; tested on all archs by martin@ ↵Michael Shalayeff
miod@ mickey@
2005-11-19Remove unnecessary lockmgr() archaism that was costing too much in termsPedro Martelletto
of panics and bugfixes. Access curproc directly, do not expect a process pointer as an argument. Should fix many "process context required" bugs. Incentive and okay millert@, okay marc@. Various testing, thanks.
2005-11-15Only two `h' in threshold.Miod Vallat
2005-11-04Add an extra flags argument to uvm_io(), to specify whether we want to fixMiod Vallat
the protection of the memory mapping we're doing I/O on, or if we want to leave them as they are. This should only be necessary for breakpoint insertion in code, so we'll only use it for ptrace requests. Initially from art@ after discussion with kettenis@ millert@ and I, tested by many.
2005-11-01In uvm_swapout(), protect "p->p_swtime = 0;" with SCHED_LOCK() as is alreadyAaron Campbell
done in uvm_swapin(). Looks like this was a mistake made while editing. No response from art@. deraadt@, miod@, pedro@ ok
2005-10-27Following a next pointer of an element deleted from a list is badOtto Moerbeek
practise. Depending on the list implementation, this might or might not work; so make it use a safe idiom. ok pedro@ millert@ deraadt@
2005-10-23typoPedro Martelletto
2005-10-06typoBrad Smith
2005-09-30revert MAX_KMAPENT hack added just before 3.7 now thatBrad Smith
a proper fix has been implemented in uvm_mapent_alloc(). ok pedro@
2005-09-30Make ddb's 'show uvmexp' print information about kmapent, okay deraadt@Pedro Martelletto
2005-09-28- when we run out of static kernel map entries, grab a fresh page usingPedro Martelletto
the uvm_km_page allocator and use it instead of calling panic() - add a counter to uvmexp so we can keep track of how many map entries we have in use idea from tedu@, long ago, okay deraadt@
2005-09-12Change the NKMEMPAGES range to 4-64MB for 32bit arches, and 8-128MB for 64bitMiod Vallat
arches; except on sparc where the range is 4-8 for !sun4m and 4-64 for sun4m, selected at runtime.
2005-09-09typosPedro Martelletto
2005-07-26 - Make a UVM_OBJ_IS_DEVICE macro.Artur Grabowski
- Use it to skip device mappings while dumping core. - Ignore EFAULT errors while dumping core since they can happen even for valid mappings. Just skip that part of the core file and let it get automagically zero-filled. This fixes the broken X core dumps that people have been seeing and also fixes some other potential problems that could prevent core dumps (mmaps beyond EOF, etc.). tedu@ ok
2005-06-29on the vax, start mmap BRKSIZ (8MB) into data seg; ok tdevalTheo de Raadt
2005-06-01use vm_dused for rlimit. much happier with mmap. tested by severalTed Unangst
over past week. as a bonus, kills 5 XXXs.
2005-05-31Protect the run queues with SCHED_LOCK, not just spl (ot nothing at all inArtur Grabowski
one case fixed here). miod@ "appears to be harmless" markus@ ok
2005-05-29sched work by niklas and art backed out; causes panicsTheo de Raadt
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)