- enable alignment on amd64 only

- only align pcpu caches and the volatile portion of uma_zone
This commit is contained in:
Kip Macy 2010-03-22 22:39:32 +00:00
parent 4d6299f9eb
commit 1a23373ceb
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=205487

View File

@ -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 */
};
/*