| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
MFC after: 3 days
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
but then sizes the containing data structure at run-time to make room
for per-cpu cache data. Modify libmemstat to separately allocate a
buffer to hold per-cpu cache data, sized based on the run-time mp_maxid
variable when using libkvm to access UMA data. This avoids reading
invalid cache data from beyond the end of the uma_zone data structure
on the stack, which can result in invalid statistics and/or reads from
invalid kernel addresses.
Foot target practice by: ps
MFC after: 3 days
|
|
|
|
|
|
|
|
| |
return a KVM error rather than an out of memory error, so that the caller
reports the KVM error state. This replaces a misleading error message
with a more accurate although equally confusing one.
MFC after: 3 days
|
|
|
|
|
|
|
|
| |
cpu mask before looking at the cache entries for the CPU. For systems
with sparse CPU id arrays, this skips otherwise uninitialized cache
structures.
MFC after: 3 days
|
|
|
|
|
|
| |
bytes = allocated - freed, not bytes = allocated = freed.
MFC after: 3 days
|
|
|
|
| |
signal mask and pending signals.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Make sure to always print something in the alternate time format.
|
|
|
|
| |
this compiled before; it only worked by accident.
|
| |
|
|
|
|
| |
Obtained from: TrustedBSD Project
|
| |
|
| |
|
|
|
|
|
|
| |
into a .Bf/.Ef pair.
Submitted by: ru
|
|
|
|
|
|
|
|
| |
hardcoded ENFILES, which is incorrect. pipe_create() can fail due
to ENOMEM.
- Update manual page, describing ENOMEM return code.
Reviewed by: arch
|
|
|
|
|
|
| |
and if so, use the pts system.
Suggested by: rwatson
|
|
|
|
|
|
|
| |
pidfile_close() functions is safe. This possibility is used in example code.
- Cast pid_t to int.
Requested by: yar
|
|
|
|
| |
argument to get 'libdisk'. Also bump the date of the man page.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
performance degradation can be disabled via something like the following
in /etc/malloc.conf:
CFLAGS+=-DNO_MALLOC_EXTRAS
Suggested by: deischen
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Remove the block of code that tries to use delayed regions in LIFO order,
since from a policy perspective, it conflicts with LRU caching of newly
coalesced regions in arena_undelay(). There are numerous policy
alternatives, and it isn't readily obvious which (if any) is superior;
this change at least has the virtue of being consistent with policy.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add %M{essage} extension which prints an errno value as the
corresponding string if possible or numerically otherwise.
It is not currently possible to do the syslog(3) like %m extension
because errno would need to get capatured on entry to the first
function in the printf family, so %M requires you to supply errno
as an argument.
Add %Q{uote} extension which will print a string in double quotes with
appropriate back-slash escapes (only) if necessary.
|
| |
|
|
|
|
| |
formatted page as well as the source.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fit regions are available, use the delayed regions in LIFO order, in order
to increase locality of reference. We might expect this to cause delayed
regions to be removed from the delay ring buffer more often (since we're
now re-using more recently buffered regions), but numerous tests indicate
that the overall impact on memory usage tends to be good (reduced
fragmentation).
Re-work arena_frag_reg_alloc() so that when large free regions are
exhausted, it uses small regions in a way that favors contiguous allocation
of sequentially allocated small regions. Use arena_frag_reg_alloc() in
this capacity, rather than directly attempting over-fitting of small
requests when no large regions are available.
Remove the bin overfit statistic, since it is no longer relevant due to
the arena_frag_reg_alloc() changes.
Do not specify arena_frag_reg_alloc() as an inline function. It is too
large to benefit much from being inlined, and it is also called in two
places, only one of which is in the critical path (the other call bloated
arena_reg_alloc()).
Call arena_coalesce() for a region before caching it with
arena_mru_cache().
Add assertions that detect the attempted caching of adjacent free regions,
so that we notice this problem when it is first created, rather than in
arena_coalesce(), when it's too late to know how the problem arose.
Reported by: Hans Blancke
|
| |
|
|
|
|
| |
doubles the cache size, and 'c' halves the cache size.
|
|
|
|
|
| |
chunk during initialization, in order to avoid physically backing the
page unless data are allocated there.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
behaviour of returning EINVAL when ".." is passed as either argument
has been restored.
rmdir("..") now returns EINVAL instead of EPERM. Document the
previously undocumented behaviour of rmdir(".") returning EINVAL
as required by POSIX and SUSv3. Bump the man page change date.
undelete("..") now returns EINVAL instead of EPERM. Bump the man
page change date.
MFC after: 3 days
|
|
|
|
|
|
| |
of the path is "..".
MFC after: 3 days
|
|
|
|
|
|
|
| |
fix the few remaining casting style(9) errors that remained after the
functional change.
Reported by: jmallett
|
|
|
|
|
|
| |
problems in cases where regions are faked up for the purposes of red-black
tree searches, since those faked region headers reside on the stack, rather
than in a malloc chunk.
|
| |
|
|
|
|
|
| |
internal allocation does not rely on recursive arena use (base_arena was
removed in revision 1.95).
|
|
|
|
|
|
|
| |
ignore a MODE failure if and only if the mode we attempted to set was S
(which is supposed to be the default).
PR: bin/91973
|
|
|
|
| |
Reported by: ache
|
|
|
|
|
|
|
|
| |
allowing the error to be fatal.
Move a label in order to make sure to properly handle errors in malloc(0).
Reported by: Alastair D'Silva, Saneto Takanori
|