[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 0/6] xen: sched: control structure memory layout optimizations



Hi,

This series contains some (micro)optimization patches that were lying around in
my local branches for some time.

In some more details:

- patches 1 and 2 get rid of (potentially) big static arrays inside Credit2's
  data structure, by making them dynamic, or per-CPU variables;

- patches 3, 4 and 5, reorder the fields in the schedulers' control
  structures. The main goal is optimize memory layout (e.g., reduce/avoid
  padding) and cache layout (related fields, that are accessed close to each
  other, in the same cacheline). While there, I'm also trying to improve code
  readability and comment wording, style and alignment;

- patch 7, speeds up tickling in Credit1 and Credit2, in presence of 1:1 vCPU
  to pCPU pinning.

For finding holes, and visualizing the cache layout, I've used pahole.
Individual changelogs of patches 3-6 have the details about the actual
improvements.

There's a git branch available here:
 git://xenbits.xen.org/people/dariof/xen.git  rel/sched/datas-mem-cache-optim
 
http://xenbits.xen.org/gitweb/?p=people/dariof/xen.git;a=shortlog;h=refs/heads/rel/sched/datas-mem-cache-optim

Thanks and Regards,
Dario
---
Dario Faggioli (6):
      xen: credit2: allocate runqueue data structure dynamically
      xen: credit2: make the cpu to runqueue map per-cpu
      xen: credit: rearrange members of control structures
      xen: credit2: rearrange members of control structures
      xen: RTDS: rearrange members of control structures
      xen: sched: optimize exclusive pinning case (Credit1 & 2)

 xen/common/sched_credit.c    |   60 +++++++++++----
 xen/common/sched_credit2.c   |  170 +++++++++++++++++++++++++-----------------
 xen/common/sched_rt.c        |   13 ++-
 xen/include/xen/perfc_defn.h |    1 
 4 files changed, 156 insertions(+), 88 deletions(-)
--
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.