svn commit: r205487 - head/sys/vm
Kip Macy
kmacy at FreeBSD.org
Mon Mar 22 22:39:33 UTC 2010
Author: kmacy
Date: Mon Mar 22 22:39:32 2010
New Revision: 205487
URL: http://svn.freebsd.org/changeset/base/205487
Log:
- enable alignment on amd64 only
- only align pcpu caches and the volatile portion of uma_zone
Modified:
head/sys/vm/uma_int.h
Modified: head/sys/vm/uma_int.h
==============================================================================
--- head/sys/vm/uma_int.h Mon Mar 22 22:12:27 2010 (r205486)
+++ head/sys/vm/uma_int.h Mon Mar 22 22:39:32 2010 (r205487)
@@ -162,7 +162,11 @@ struct uma_hash {
/*
* align field or structure to cache line
*/
+#if defined(__amd64__)
+#define UMA_ALIGN __aligned(CACHE_LINE_SIZE)
+#else
#define UMA_ALIGN
+#endif
/*
* Structures for per cpu queues.
@@ -173,7 +177,7 @@ struct uma_bucket {
int16_t ub_cnt; /* Count of free items. */
int16_t ub_entries; /* Max items. */
void *ub_bucket[]; /* actual allocation storage */
-} UMA_ALIGN;
+};
typedef struct uma_bucket * uma_bucket_t;
@@ -330,7 +334,7 @@ struct uma_zone {
* This HAS to be the last item because we adjust the zone size
* based on NCPU and then allocate the space for the zones.
*/
- struct uma_cache uz_cpu[1] UMA_ALIGN; /* Per cpu caches */
+ struct uma_cache uz_cpu[1]; /* Per cpu caches */
};
/*
More information about the svn-src-head
mailing list