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