summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* MFC r258901:sbruno2014-01-051-1/+1
| | | | | | | | 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
* Revert MFC of r260102 for now, until I can merge the required fix fromdim2014-01-0510-11/+13
| | | | | head. This should fix building modules which require -fms-extensions to compile them with gcc.
* Merge r260188 from head:glebius2014-01-051-0/+6
| | | | | | | 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
* MFC r258256, r258390:mav2014-01-041-11/+15
| | | | Fix umastat build on present kernel.
* MFC r258716:mav2014-01-041-5/+34
| | | | | - Add bucket size column to `show uma` DDB command. - Add `show umacache` command to show alike stats for cache-only UMA zones.
* MFC r258693:mav2014-01-041-2/+16
| | | | | | | | | | 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.
* MFC r258691:mav2014-01-041-5/+3
| | | | | | | | 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.
* MFC r258340, r258497:mav2014-01-041-0/+89
| | | | | | | | 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.
* MFC r258338:mav2014-01-041-2/+13
| | | | | | | | 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.
* MFC r258337:mav2014-01-041-0/+2
| | | | | | | | | | | | 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.
* MFC r258336:mav2014-01-042-1/+11
| | | | | | | | | | | | | 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.
* MFC r259232:mav2014-01-041-9/+17
| | | | | | | | | | | | | | | | | | | | | 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.
* MFC r260112:dim2014-01-041-0/+6
| | | | In sys/dev/sound/pci/maestro.c, #if 0 two unused static functions.
* MFC r260111:dim2014-01-042-1/+4
| | | | | For sys/ofed/drivers/infiniband/hw/mlx4/mcg.c, disable warning about unused variables for now.
* MFC r260104:dim2014-01-042-1/+4
| | | | | For sys/ofed/drivers/infiniband/core/cm.c, disable warning about unused functions for now.
* MFC r260095:dim2014-01-046-16/+17
| | | | | | | | | | 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.
* MFC r260103:dim2014-01-041-10/+0
| | | | | | | In sys/amd64/amd64/pmap.c, remove static function pmap_is_current(), which has been unused since r189415. Reviewed by: alc
* MFC r260057:dim2014-01-041-15/+2
| | | | | | | 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
* MFC r260056:dim2014-01-041-0/+2
| | | | In sys/dev/vxge/vxgehal/vxgehal-ring.c, #if 0 an unused static function.
* MFC r260055:dim2014-01-041-0/+2
| | | | | In sys/dev/usb/wlan/if_urtw.c, #if 0 a static const variable, which has been unused since r198194.
* Merge r258690 by mav from head:glebius2014-01-041-3/+4
| | | | | | | | 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.
* MFC r260054:dim2014-01-041-0/+2
| | | | In sys/dev/tpm/tpm.c, #if 0 an unused static function.
* MFC r260048:dim2014-01-043-6/+6
| | | | In sys/netgraph/netflow, use __FBSDID() instead of old-style rcs_id[].
* MFC r260042:dim2014-01-041-5/+0
| | | | | Remove superfluous old-style rcsid[] from if_my.c. There is already an __FBSDID() at the top of the file.
* MFC r260040:dim2014-01-041-1/+1
| | | | | | 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.
* MFC r260038:dim2014-01-041-0/+2
| | | | In sys/dev/en/midway.c, #if 0 an unused static function.
* MFC r260039:dim2014-01-042-17/+28
| | | | | Turn off warnings about unused variables for a bunch of files under contrib/ipfilter.
* MFC r260026:dim2014-01-042-2/+8
| | | | | Disable warning about unused functions for ieee80211_crypto.c and ieee80211_mesh.c for now.
* MFC r260025:dim2014-01-042-2/+2
| | | | Disable warning about unused functions for ar9300_reset.c for now.
* MFC r260019:dim2014-01-041-0/+5
| | | | | For some files under sys/dev/drm2/i915, turn off warnings about unused functions and variables, since they are contributed code.
* MFC r260020:dim2014-01-0410-11/+14
| | | | | | | | | | | | | | 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.
* MFC r260017:dim2014-01-041-2/+2
| | | | | Mark unused static inline functions defined by the PCTRIE_DEFINE() macro as __unused, so warnings about them are avoided.
* MFC r260016:dim2014-01-041-5/+0
| | | | | Remove superfluous old-style rcsid[] from if_sk.c. There is already an __FBSDID() at the top of the file.
* MFC r260003:dim2014-01-0414-0/+28
| | | | | In libiconv_modules, surround unused static _citrus_XXX_pack_state() and _citrus_XXX_unpack_state() functions with #if 0, for now.
* MFC r260015:dim2014-01-041-46/+46
| | | | | | | | | 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.
* Revert r258396 : teach iconv about a WCHAR_T pseudo-typepeter2014-01-031-1/+0
|
* MFC r259464:mav2014-01-031-1/+2
| | | | Fix periodic per-CPU timers startup on boot.
* MFC r259792:gjb2014-01-031-14/+10
| | | | | | | Remove references to SUP_UPDATE and CVS_UPDATE. Include base svn when evaluating if svn(1) exists. Sponsored by: The FreeBSD Foundation
* MFC r259953:kib2014-01-031-4/+10
| | | | Fix accounting for the negative cache entries when reusing v_cache_dd.
* MFC r259655 (partial), r259944:pfg2014-01-034-11/+31
| | | | | | | | | | | | | | 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)
* Merge r259681 from head:glebius2014-01-031-10/+17
| | | | | | | | | | 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
* MFC r259906: Draft-ietf-tcpm-initcwnd-05 became RFC6928.pluknet2014-01-021-2/+2
|
* MFC r259872:pluknet2014-01-021-5/+1
| | | | | | 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.
* MFC r259870:pluknet2014-01-021-2/+2
| | | | Do not truncate the ``command'' column in ``ps'' output.
* MFC r256838:trasz2014-01-021-7/+1
| | | | | | Don't test arrays for being NULL. Sponsored by: The FreeBSD Foundation
* MFC r258659:trasz2014-01-021-2/+2
| | | | | | Fix warnings to not append "No error: 0". Sponsored by: The FreeBSD Foundation
* MFC r259502:trasz2014-01-021-5/+4
| | | | | | Reword the part about mutual CHAP. Sponsored by: The FreeBSD Foundation
* MFC r260106:trasz2014-01-021-3/+0
| | | | | | | 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
* MFC r260105:trasz2014-01-021-3/+3
| | | | | | Fix typo. Sponsored by: The FreeBSD Foundation
* MFC r260070scottl2014-01-023-4/+15
| | | | | | | | | | | 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
OpenPOWER on IntegriCloud