2015-07-10 17:21:29 +02:00
|
|
|
# Commit b58214a24231a1f2a7e09ae9cc3014eff752918b
|
|
|
|
# Date 2015-06-22 11:39:46 +0200
|
|
|
|
# Author David Vrabel <david.vrabel@citrix.com>
|
|
|
|
# Committer Jan Beulich <jbeulich@suse.com>
|
|
|
|
evtchn: pad struct evtchn to 64 bytes
|
|
|
|
|
|
|
|
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>
|
|
|
|
|
2015-08-27 00:28:15 +02:00
|
|
|
--- a/xen/include/xen/sched.h
|
|
|
|
+++ b/xen/include/xen/sched.h
|
2015-07-10 17:21:29 +02:00
|
|
|
@@ -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 */
|