[PATCH v1 0/2] reduce oxenstored quota processing overhead under load

Edwin Török posted 2 patches 2 months, 4 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/cover.1706697858.git.edwin.torok@cloud.com
tools/ocaml/xenstored/quota.ml | 65 ++++++++++++++++++----------------
tools/ocaml/xenstored/store.ml | 17 +++++----
2 files changed, 44 insertions(+), 38 deletions(-)
[PATCH v1 0/2] reduce oxenstored quota processing overhead under load
Posted by Edwin Török 2 months, 4 weeks ago
A recent stress test with 1000 VMs has shown that oxenstored spends ~40% of time in Quota.copy,
even when processing read-only xenstore commands.
Use an immutable data structure instead.

I have tested this in the gitlab CI here: https://gitlab.com/xen-project/people/edwintorok/xen/-/pipelines/1158302827
For convenience the changes in this (and the other series I sent out) are also available as a git repository:
https://gitlab.com/xen-project/people/edwintorok/xen/-/compare/private%2Fedvint%2Fdune1x...private%2Fedvint%2Fno-hashtbl-dev?from_project_id=47263871&straight=false

I haven't yet measured the speedup, but thought to send out the patch for review early.

Edwin Török (2):
  oxenstored: use Map instead of Hashtbl for quotas
  oxenstored: make Quota.t pure

 tools/ocaml/xenstored/quota.ml | 65 ++++++++++++++++++----------------
 tools/ocaml/xenstored/store.ml | 17 +++++----
 2 files changed, 44 insertions(+), 38 deletions(-)

-- 
2.43.0