| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
svn r251516 resized the buf argument a bit too much. Pass a hardcoded
size of 6 to humanize_number() to resolve this.
PR: bin/184405
Submitted by: jhb
|
|
|
|
|
| |
head. This should fix building modules which require -fms-extensions to
compile them with gcc.
|
|
|
|
|
|
|
| |
Fix regression from r249894. Now we pass "gw" as argument to if_output
method, thus for multicast case we need it to point at "dst".
PR: 185395
|
|
|
|
| |
Fix umastat build on present kernel.
|
|
|
|
|
| |
- Add bucket size column to `show uma` DDB command.
- Add `show umacache` command to show alike stats for cache-only UMA zones.
|
|
|
|
|
|
|
|
|
|
| |
Make UMA to not blindly force offpage slab header allocation for large
(> PAGE_SIZE) zones. If zone is not multiple to PAGE_SIZE, there may
be enough space for the header at the last page, so we may avoid extra
header memory allocation and hash table update/lookup.
ZFS creates bunch of odd-sized UMA zones (5120, 6144, 7168, 10240, 14336).
This change gives good use to at least some of otherwise lost memory there.
|
|
|
|
|
|
|
|
| |
Don't count bucket allocation failures for UMA zones as their own failures.
There are good reasons for this to happen, such as recursion prevention, etc.
and they are not fatal since buckets are just an optimization mechanism.
Real bucket allocation failures are any way counted by the bucket zones
themselves, and we don't need double accounting there.
|
|
|
|
|
|
|
|
| |
Implement mechanism to safely but slowly purge UMA per-CPU caches.
This is a last resort for very low memory condition in case other measures
to free memory were ineffective. Sequentially cycle through all CPUs and
extract per-CPU cache buckets into zone cache from where they can be freed.
|
|
|
|
|
|
|
|
| |
Grow UMA zone bucket size also on lock congestion during item free.
Lock congestion is the same, whether it happens on alloc or free, so
handle it equally. Now that we have back pressure, there is no problem
to grow buckets a bit faster. Any way growth is much slower then in 9.x.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add two new UMA bucket zones to store 3 and 9 items per bucket.
These new buckets make bucket size self-tuning more soft and precise.
Without them there are buckets for 1, 5, 13, 29, ... items. While at
bigger sizes difference about 2x is fine, at smallest ones it is 5x and
2.6x respectively. New buckets make that line look like 1, 3, 5, 9, 13,
29, reducing jumps between steps, making algorithm work softer, allocating
and freeing memory in better fitting chunks. Otherwise there is quite a
big gap between allocating 128K and 5x128K of RAM at once.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement soft pressure on UMA cache bucket sizes.
Every time system detects low memory condition decrease bucket sizes for
each zone by one item. As result, higher memory pressure will push to
smaller bucket sizes and so smaller per-CPU caches and so more efficient
memory use.
Before this change there was no force to oppose buckets growth as result
of practically inevitable zone lock conflicts, and after some run time
per-CPU caches could consume enough RAM to kill the system.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Create own free list for each of the first 32 possible allocation sizes.
In case of 4K allocation quantum that means for allocations up to 128K.
With growth of memory fragmentation these lists may grow to quite a large
sizes (tenths and hundreds of thousands items). Having in one list items
of different sizes in worst case may require full linear list traversal,
that may be very expensive. Having lists for items of single size means
that unless user specify some alignment or border requirements (that are
very rare cases) first item found on the list should satisfy the request.
While running SPEC NFS benchmark on top of ZFS on 24-core machine with
84GB RAM this change reduces CPU time spent in vmem_xalloc() from 8%
and lock congestion spinning around it from 20% to invisible levels.
And that all is by the cost of just 26 more pointers per vmem instance.
If at some point our kernel will start to actively use KVA allocations
with odd sizes above 128K, something may need to be done to bigger lists
also.
|
|
|
|
| |
In sys/dev/sound/pci/maestro.c, #if 0 two unused static functions.
|
|
|
|
|
| |
For sys/ofed/drivers/infiniband/hw/mlx4/mcg.c, disable warning about
unused variables for now.
|
|
|
|
|
| |
For sys/ofed/drivers/infiniband/core/cm.c, disable warning about unused
functions for now.
|
|
|
|
|
|
|
|
|
|
| |
For sys/boot/i386 and sys/boot/pc98, separate flags to be passed
directly to the linker (LD_FLAGS) from flags passed indirectly, via the
compiler driver (LDFLAGS).
This is because several Makefiles under sys/boot/i386 and sys/boot/pc98
use ${LD} directly to link, and the normal LDFLAGS value should not be
used in these cases.
|
|
|
|
|
|
|
| |
In sys/amd64/amd64/pmap.c, remove static function pmap_is_current(),
which has been unused since r189415.
Reviewed by: alc
|
|
|
|
|
|
|
| |
In sys/dev/scc, remove unused static function scc_setmreg(). While
here, invoke scc_getmreg() in two more places where it can be used.
Reviewed by: marcel
|
|
|
|
| |
In sys/dev/vxge/vxgehal/vxgehal-ring.c, #if 0 an unused static function.
|
|
|
|
|
| |
In sys/dev/usb/wlan/if_urtw.c, #if 0 a static const variable, which has
been unused since r198194.
|
|
|
|
|
|
|
|
| |
Fix bug introduced at r252226, when udata argument passed to bucket_alloc()
was used without making sure first that it was really passed for us.
On some of my systems this bug made user argument passed by ZFS code to
uma_zalloc_arg() unexpectedly block UMA per-CPU caches for those zones.
|
|
|
|
| |
In sys/dev/tpm/tpm.c, #if 0 an unused static function.
|
|
|
|
| |
In sys/netgraph/netflow, use __FBSDID() instead of old-style rcs_id[].
|
|
|
|
|
| |
Remove superfluous old-style rcsid[] from if_my.c. There is already an
__FBSDID() at the top of the file.
|
|
|
|
|
|
| |
In sys/dev/mcd/mcd.c, mark the static const COPYRIGHT string as __used,
so it ends up in the object file, and no warnings are emitted about it
being actually unused.
|
|
|
|
| |
In sys/dev/en/midway.c, #if 0 an unused static function.
|
|
|
|
|
| |
Turn off warnings about unused variables for a bunch of files under
contrib/ipfilter.
|
|
|
|
|
| |
Disable warning about unused functions for ieee80211_crypto.c and
ieee80211_mesh.c for now.
|
|
|
|
| |
Disable warning about unused functions for ar9300_reset.c for now.
|
|
|
|
|
| |
For some files under sys/dev/drm2/i915, turn off warnings about unused
functions and variables, since they are contributed code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For sys/dev/drm2/radeon, only use -fms-extensions with gcc. This flag
is only to stop gcc complaining about anonymous unions, which clang does
not do. For clang 3.4 however, -fms-extensions enables the Microsoft
__wchar_t type, which clashes with our own types.h.
MFC r260102:
Similar to r260020, only use -fms-extensions with gcc, for all other
modules which require this flag to compile. Use a GCC_MS_EXTENSIONS
variable, defined in kern.pre.mk, which can be used to easily supply the
flag (or not), depending on the compiler type.
|
|
|
|
|
| |
Mark unused static inline functions defined by the PCTRIE_DEFINE() macro
as __unused, so warnings about them are avoided.
|
|
|
|
|
| |
Remove superfluous old-style rcsid[] from if_sk.c. There is already an
__FBSDID() at the top of the file.
|
|
|
|
|
| |
In libiconv_modules, surround unused static _citrus_XXX_pack_state() and
_citrus_XXX_unpack_state() functions with #if 0, for now.
|
|
|
|
|
|
|
|
|
| |
In libc++'s type_traits header, avoid warnings (activated by our use of
-Wsystem-headers) about potential keyword compatibility problems, by
adding a __libcpp prefix to the applicable identifiers.
Upstream is still debating about this, but we need it now, to be able to
import clang 3.4.
|
| |
|
|
|
|
| |
Fix periodic per-CPU timers startup on boot.
|
|
|
|
|
|
|
| |
Remove references to SUP_UPDATE and CVS_UPDATE.
Include base svn when evaluating if svn(1) exists.
Sponsored by: The FreeBSD Foundation
|
|
|
|
| |
Fix accounting for the negative cache entries when reusing v_cache_dd.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc: merge small upstream changes.
Fix for PR c++/29928
Backport from mainline:
2007-04-24 Hui-May Chang <hm.chang@apple.com>
* reload1.c (merge_assigned_reloads) : Do not merge a RELOAD_OTHER
instruction with a RELOAD_FOR_OPERAND_ADDRESS instruction.
Obtained from: gcc 4.3 (rev. r124115, 124724: GPLv2)
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- Reinit uio_resid and flags before every call to soreceive().
- Set maximum acceptable size of packet to IP_MAXPACKET. As for now the
module doesn't support INET6.
- Properly handle MSG_TRUNC return from soreceive().
PR: 184601
|
| |
|
|
|
|
|
|
| |
The compile time constant limit on number of swap devices was removed in 5.2.
As such, remove the EINVAL error saying so. Currently the vm.nswapdev sysctl
just represents the number of added swap devices.
|
|
|
|
| |
Do not truncate the ``command'' column in ``ps'' output.
|
|
|
|
|
|
| |
Don't test arrays for being NULL.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
| |
Fix warnings to not append "No error: 0".
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
| |
Reword the part about mutual CHAP.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
| |
The devd part never got implemented; remove for now, until someone actually
needs this feature and can talk to me about how it should look like.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
| |
Fix typo.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
|
|
| |
Multi-queue NIC drivers and multi-port lagg tend to use the same lower
bits of the flowid as each other, resulting in a poor distribution of
packets among queues in certain cases. Work around this by adding a
set of sysctls for controlling a bit-shift on the flowid when doing
multi-port aggrigation in lagg and lacp. By default, lagg/lacp will
now use bits 16 and higher instead of 0 and higher.
Obtained from: Netflix
|