Pad and align the callout_cpu mtx to its own cacheline to reduce false

sharing especially on the default CPU 0 callout_cpu structure.

This will be followed up by attilio@ with a conversion to the new struct
mtx_padalign but doing this manual conversion first gives an easy MFC
candidate since mtx_padalign is a more extensive system change.

Sponsored by:	Intel
Reviewed by:	jeff, attilio
MFC after:	1 week
This commit is contained in:
jimharris 2012-10-31 17:12:12 +00:00
parent 87941a0e19
commit 8fbe050915

View File

@ -119,8 +119,8 @@ struct cc_mig_ent {
* when the callout should be served.
*/
struct callout_cpu {
struct cc_mig_ent cc_migrating_entity;
struct mtx cc_lock;
struct cc_mig_ent cc_migrating_entity __aligned(CACHE_LINE_SIZE);
struct callout *cc_callout;
struct callout_tailq *cc_callwheel;
struct callout_list cc_callfree;