Age | Commit message (Collapse) | Author |
|
14060 skip MADV_SEQUENTIAL if refaulting
18037 missing pageactivate
tested for some time by jolan krw
|
|
miod@ mickey@
|
|
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.
|
|
|
|
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.
|
|
done in uvm_swapin(). Looks like this was a mistake made while editing. No
response from art@. deraadt@, miod@, pedro@ ok
|
|
practise. Depending on the list implementation, this might or might
not work; so make it use a safe idiom. ok pedro@ millert@ deraadt@
|
|
|
|
|
|
a proper fix has been implemented in uvm_mapent_alloc().
ok pedro@
|
|
|
|
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@
|
|
arches; except on sparc where the range is 4-8 for !sun4m and 4-64 for sun4m,
selected at runtime.
|
|
|
|
- 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
|
|
|
|
over past week. as a bonus, kills 5 XXXs.
|
|
one case fixed here).
miod@ "appears to be harmless"
markus@ ok
|
|
|
|
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.
|
|
pages a process uses. this is now the userland "data size" value.
ok art deraadt tdeval. thanks testers.
|
|
|
|
|
|
|
|
who have machines that hit swap a lot. decided after survey of developers,
we found that most turned this on. ok various
|
|
other archs for now, beck theo ok
|
|
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.
|
|
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@
|
|
scenarios, instead generating an ENOMEM backfeed, ok tedu@, prodded by many
|
|
no change in compiler assembly output.
|
|
ok deraadt
|
|
|
|
what i intended all along, without contrived arithmetic screw up.
from discussions with mickey and deraadt
|
|
|
|
on all other architectures. remove last architecture dependent #ifdef from
uvm code.
|
|
|
|
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
|
|
|
|
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@
|
|
|
|
break out uvm_km_page bits for this case, no thread here
lots of testing tech@, deraadt@, naddy@, mickey@, ...
|
|
|
|
|
|
prevents msync/madvise funniness
from art@ ok deraadt@
|
|
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
|
|
|
|
with a static page size on platforms where it may vary.
ok deraadt@ millert@ tdeval@
|
|
solves problems encountered by david@ and dtucker@ (pr3758)
|
|
|
|
tested by jmc, brad, hshoexer
|