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:
Jim Harris 2012-10-31 17:12:12 +00:00
parent 192bc3edf4
commit 84e7a2ebb7
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=242401

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;