Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
Imagine lots of random small mappings (think malloc(3)) and sometimes
one large mapping (network buffer). If we've filled up our address space
enough, the random address picked for the large allocation is likely to
be overlapping an existing small allocation, so we'll do a linear scan
to find the next free address. That next free address is likely to
be just after a small allocation. Those two map entires get merged.
If we now allocate an amap for the merged map entry, it will be large.
When we later free the large allocation the amap is not truncated. All
these are design decisions that made sense for sbrk, but with random
allocations and malloc that actually returns memory, this really hurt us.
This is the reason why certain processes like apache and sendmail could
eat more than 10 times as much amap memory as they needed, eventually
hitting the malloc limit and hanging or running the machine out of
kmem_map and crashing.
otto@ ok
|
|
|
|
ok jmc@ millert@
|
|
|
|
|
|
|
|
remove it correctly from the array.
|
|
|
|
|
|
code. No functional change.
ok krw@
|
|
plugged in and removed
|
|
|
|
|
|
Based on a diff from Robert <robert at openbsd dot pap dot st>
|
|
is detected.
|
|
ok krw@
|
|
values in all cases.
ok marco@
|
|
While there, fix a bounds checking error in azalia_[gs]et_port().
ok deanna@ ratchov@
|
|
|
|
|
|
|
|
- Add some more Intel ICH9 product id's.
Most of the Intel product id's are from
Robert <robert at openbsd dot pap dot st>
|
|
It applies to state_flags, not to sync_flags.
OK henning@, gollo@
|
|
ok jsg@
|
|
ok beck
|
|
ok tedu@
|
|
|
|
addition to the kernel, and unconditionnaly handle all busswitch revision 1
based boards as horribly broken, even with 50MHz clocks.
Based on an report of an early 50MHz 197LE board being unable to boot,
due to memory corruption.
|
|
written with help by jmc@
ok jmc@
|
|
- file descriptor table becomes the owner of the lock instead of the proc.
- When grabbing the lock, we check if the fd hasn't changed under our
feet, this is more or less impossible to solve without a hack like
this. I've banged my head against the wall, I figured out a solution,
but implementing it correctly would cost me 12 gray hairs. Screw it,
this is ugly, but it works.
- Wait until usecount drains before releasing the posix lock in closef.
- Add missing FREF/FRELE to sys_flock
- keep the pid in the flock struct instead of abusing the fact that we
used to use the proc as the lock owner.
Pointed out by and discussed with Al Viro, big thanks.
miod@ ok
|
|
to switch to the software implementation; ok hshoexer, tom
|
|
Don't increment a pointer *before* testing it for NULL.
OK canacar@
|
|
spotted by uw at o3si dot de
|
|
- global function calls in .init sections (diff makes them via PLT)
- calls to global functions in aes-586.S (made static or local)
- global variable accesses in rc4-x86_64.S (now made via GOT)
from djm@large; ok miod@
|
|
of that for shell scripts to cover the #!, an optional space following
it and a newline at the end. feedback and ok miod@
|
|
noisy. Hopefully this will quiet it down for all but extremely odd cases
(where we probably want to see the messages).
|
|
existance too many times).
|
|
|
|
stripping: Add a field to the mbuf pkthdr to hold the tag and an
mbuf flag that tells if the tag is valid. Inspired by FreeBSD.
Struct packing suggested by kettenis@. csum_flags is now 16 bits.
Adapt to this in the drivers.
ok reyk@, henning@
|
|
held a lock over all driver ioctls in order to be ``mpsafe''. Stop lying
to ourselves for a start. This code is not fully mpsafe, and should not
pretend to be so. Put the locking around where it should, and rely on
biglock for the rest. This will need to be fixed, but avoids some of the
horrible that we have right now.
Tested by many over a long time and several iterations.
|
|
|
|
|
|
sure henning@
|
|
Found by LLVM/Clang Static Analyzer.
ok claudio@
|
|
|
|
otto@ ok
|