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 */
 };
 
 /*
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to