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
|
|
|
|
|
|
|
|
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 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.
|
|
- 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
|
|
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.
|
|
Found by LLVM/Clang Static Analyzer.
ok claudio@
|
|
blocking specific interrupts. Needs signficant testing to prove that
one remaining elusive bug has been squashed.
|
|
leading to a kernel crash reported in PR5930
OK claudio@ henning@
|
|
ok henning@
|
|
fix potential use of uninitialized value in trunk_port_ioctl() function.
Found by LLVM/Clang Static Analyzer.
ok mpf@ henning@
|
|
|
|
|
|
for MII_MEDIACHG. The default case will catch these media types.
ok jsg@
|
|
|
|
|
|
|
|
for consistency with the other entries already there. Revert that
change. Also change the other entries for the SBx00 chipsets from
using IXPx00 to using SBx00. IXPx00 was a code name used by ATI
in addition to the SBx00 product name. As of SB700 and newer the
IXPx00 name has been dropped plus SBx00 are more well known.
requested by jsg@ awhile ago.
|
|
Found by LLVM/Clang Static Analyzer.
ok henning@ mpf@
|
|
|
|
- Replace tabs with spaces as separator for two NVIDIA entries
NVIDIA part from Antti Harri <iku at openbsd dot fi>
|
|
|
|
to make the naming more consistent.
|