#
a4bf5fb9 |
| 28-Apr-2010 |
Kirk McKusick <mckusick@FreeBSD.org> |
Update to current version of head.
|
#
8892b97b |
| 29-Mar-2010 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Merge svn+ssh://svn.freebsd.org/base/head@205807
|
#
1a23373c |
| 22-Mar-2010 |
Kip Macy <kmacy@FreeBSD.org> |
- enable alignment on amd64 only - only align pcpu caches and the volatile portion of uma_zone
|
#
c4b877e6 |
| 22-Mar-2010 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Merge svn+ssh://svn.freebsd.org/base/head@205454
|
Revision tags: release/7.3.0_cvs, release/7.3.0 |
|
#
6b4391d7 |
| 18-Mar-2010 |
Kip Macy <kmacy@FreeBSD.org> |
turn 205266 in to a no-op until the problem can be properly diagnosed
|
#
5e4bb93c |
| 17-Mar-2010 |
Kip Macy <kmacy@FreeBSD.org> |
Cache line align various structures and move volatile counters to not share a cache line with (mostly) immutable state
Reviewed by: jeff@ MFC after: 7 days
|
#
1a0fda2b |
| 04-Mar-2010 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
IFH@204581
|
#
f12d6d2a |
| 07-Jan-2010 |
Antoine Brodin <antoine@FreeBSD.org> |
MFC r200129 to stable/8: Remove trailing ";" in UMA_HASH_INSERT and UMA_HASH_REMOVE macros.
|
#
9199c09a |
| 06-Jan-2010 |
Warner Losh <imp@FreeBSD.org> |
Merge from head at r201628.
# This hasn't been tested, and there are at least three bad commits # that need to be backed out before the branch will be stable again.
|
#
4e2d83fc |
| 05-Dec-2009 |
Antoine Brodin <antoine@FreeBSD.org> |
Remove trailing ";" in UMA_HASH_INSERT and UMA_HASH_REMOVE macros.
MFC after: 1 month
|
Revision tags: release/8.0.0_cvs, release/8.0.0 |
|
#
7d4b968b |
| 17-Sep-2009 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Merge from head up to r188941 (last revision before the USB stack switch)
|
Revision tags: release/7.2.0_cvs, release/7.2.0 |
|
#
1829d5da |
| 12-Mar-2009 |
Warner Losh <imp@FreeBSD.org> |
Update the projects tree to a newer FreeBSD current.
|
#
e20a199f |
| 25-Jan-2009 |
Jeff Roberson <jeff@FreeBSD.org> |
- Make the keg abstraction more complete. Permit a zone to have multiple backend kegs so it may source compatible memory from multiple backends. This is useful for cases such as NUMA or differ
- Make the keg abstraction more complete. Permit a zone to have multiple backend kegs so it may source compatible memory from multiple backends. This is useful for cases such as NUMA or different layouts for the same memory type. - Provide a new api for adding new backend kegs to secondary zones. - Provide a new flag for adjusting the layout of zones to stagger allocations better across cache lines.
Sponsored by: Nokia
show more ...
|
Revision tags: release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0, release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0 |
|
#
6ab3b958 |
| 10-May-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Update stale comment on protecting UMA per-CPU caches: we now use critical sections rather than mutexes.
|
Revision tags: release/6.2.0_cvs, release/6.2.0, release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0, release/6.0.0_cvs, release/6.0.0 |
|
#
af17e9a9 |
| 04-Aug-2005 |
Robert Watson <rwatson@FreeBSD.org> |
Wrap inlines in uma_int.h in #ifdef _KERNEL so that uma_int.h can be used from memstat_uma.c for the purposes of kvm access without lots of additional unsafe includes.
MFC after: 3 days
|
#
08ecce74 |
| 16-Jul-2005 |
Robert Watson <rwatson@FreeBSD.org> |
Improve canonicalization of copyrights. Order copyrights by order of assertion (jeff, bmilekic, rwatson).
Suggested ages ago by: bde MFC after: 1 week
|
#
2018f30c |
| 16-Jul-2005 |
Mike Silbersack <silby@FreeBSD.org> |
Increase the flags field for kegs from a 16 to a 32 bit value; we have exhausted all 16 flags.
|
#
2019094a |
| 16-Jul-2005 |
Robert Watson <rwatson@FreeBSD.org> |
Track UMA(9) allocation failures by zone, and export via sysctl.
Requested by: victor cruceru <victor dot cruceru at gmail dot com> MFC after: 1 week
|
#
7a52a97e |
| 14-Jul-2005 |
Robert Watson <rwatson@FreeBSD.org> |
Introduce a new sysctl, vm.zone_stats, which exports UMA(9) allocator statistics via a binary structure stream:
- Add structure 'uma_stream_header', which defines a stream version, definition of M
Introduce a new sysctl, vm.zone_stats, which exports UMA(9) allocator statistics via a binary structure stream:
- Add structure 'uma_stream_header', which defines a stream version, definition of MAXCPUs used in the stream, and the number of zone records in the stream.
- Add structure 'uma_type_header', which defines the name, alignment, size, resource allocation limits, current pages allocated, preferred bucket size, and central zone + keg statistics.
- Add structure 'uma_percpu_stat', which, for each per-CPU cache, includes the number of allocations and frees, as well as the number of free items in the cache.
- When the sysctl is queried, return a stream header, followed by a series of type descriptions, each consisting of a type header followed by a series of MAXCPUs uma_percpu_stat structures holding per-CPU allocation information. Typical values of MAXCPU will be 1 (UP compiled kernel) and 16 (SMP compiled kernel).
This query mechanism allows user space monitoring tools to extract memory allocation statistics in a machine-readable form, and to do so at a per-CPU granularity, allowing monitoring of allocation patterns across CPUs in order to better understand the distribution of work and memory flow over multiple CPUs.
While here, also export the number of UMA zones as a sysctl vm.uma_count, in order to assist in sizing user swpace buffers to receive the stream.
A follow-up commit of libmemstat(3), a library to monitor kernel memory allocation, will occur in the next few days. This change directly supports converting netstat(1)'s "-mb" mode to using UMA-sourced stats rather than separately maintained mbuf allocator statistics.
MFC after: 1 week
show more ...
|
#
773df9ab |
| 14-Jul-2005 |
Robert Watson <rwatson@FreeBSD.org> |
In addition to tracking allocs in the zone, also track frees. Add a zone free counter, as well as a cache free counter.
MFC after: 1 week
|
#
eafc7b54 |
| 16-Jun-2005 |
Alan Cox <alc@FreeBSD.org> |
Increase UMA_BOOT_PAGES to prevent a crash during initialization. See http://docs.FreeBSD.org/cgi/mid.cgi?42AD8270.8060906 for a detailed description of the crash.
Reported by: Eric Anderson Approv
Increase UMA_BOOT_PAGES to prevent a crash during initialization. See http://docs.FreeBSD.org/cgi/mid.cgi?42AD8270.8060906 for a detailed description of the crash.
Reported by: Eric Anderson Approved by: re (scottl) MFC after: 3 days
show more ...
|
Revision tags: release/5.4.0_cvs, release/5.4.0 |
|
#
5d1ae027 |
| 29-Apr-2005 |
Robert Watson <rwatson@FreeBSD.org> |
Modify UMA to use critical sections to protect per-CPU caches, rather than mutexes, which offers lower overhead on both UP and SMP. When allocating from or freeing to the per-cpu cache, without INVA
Modify UMA to use critical sections to protect per-CPU caches, rather than mutexes, which offers lower overhead on both UP and SMP. When allocating from or freeing to the per-cpu cache, without INVARIANTS enabled, we now no longer perform any mutex operations, which offers a 1%-3% performance improvement in a variety of micro-benchmarks. We rely on critical sections to prevent (a) preemption resulting in reentrant access to UMA on a single CPU, and (b) migration of the thread during access. In the event we need to go back to the zone for a new bucket, we release the critical section to acquire the global zone mutex, and must re-acquire the critical section and re-evaluate which cache we are accessing in case migration has occured, or circumstances have changed in the current cache.
Per-CPU cache statistics are now gathered lock-free by the sysctl, which can result in small races in statistics reporting for caches.
Reviewed by: bmilekic, jeff (somewhat) Tested by: rwatson, kris, gnn, scottl, mike at sentex dot net, others
show more ...
|
#
8076cb52 |
| 16-Feb-2005 |
Bosko Milekic <bmilekic@FreeBSD.org> |
Well, it seems that I pre-maturely removed the "All rights reserved" statement from some files, so re-add it for the moment, until the related legalese is sorted out. This change affects:
sys/kern/
Well, it seems that I pre-maturely removed the "All rights reserved" statement from some files, so re-add it for the moment, until the related legalese is sorted out. This change affects:
sys/kern/kern_mbuf.c sys/vm/memguard.c sys/vm/memguard.h sys/vm/uma.h sys/vm/uma_core.c sys/vm/uma_dbg.c sys/vm/uma_dbg.h sys/vm/uma_int.h
show more ...
|
Revision tags: release/4.11.0_cvs, release/4.11.0 |
|
#
60727d8b |
| 07-Jan-2005 |
Warner Losh <imp@FreeBSD.org> |
/* -> /*- for license, minor formatting changes
|
#
7b871205 |
| 26-Dec-2004 |
Bosko Milekic <bmilekic@FreeBSD.org> |
Add my copyright and update Jeff's copyright on UMA source files, as per his request.
Discussed with: Jeffrey Roberson
|