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