evtchn: pad struct evtchn to 64 bytes
authorDavid Vrabel <david.vrabel@citrix.com>
Mon, 22 Jun 2015 09:39:46 +0000 (11:39 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 22 Jun 2015 09:39:46 +0000 (11:39 +0200)
The number of struct evtchn in a page must be a power of two.  Under
some workloads performance is improved slightly by padding struct
evtchn to 64 bytes (a typical cache line size), thus putting the fewer
per-channel locks into each cache line.

This does not decrease the number of struct evtchn's per-page.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
xen/include/xen/sched.h

index ce10a667db01533a6d858741cea6e349c1f3d82b..b29d9e7f1a70aea599bce531e705a7787589626d 100644 (file)
@@ -129,7 +129,7 @@ struct evtchn
 #endif
     } ssid;
 #endif
-};
+} __attribute__((aligned(64)));
 
 int  evtchn_init(struct domain *d); /* from domain_create */
 void evtchn_destroy(struct domain *d); /* from domain_kill */