This is a hash table with optional auto-resizing and MRU promotion for
reads and writes. Its implementation goal is to stay fast while
scaling for read-mostly workloads.
A hash table with these features will be necessary for the scalability
of the ongoing MTTCG work; before those changes arrive we can already
benefit from the single-threaded speedup that qht also provides.
Signed-off-by: Emilio G. Cota <address@hidden>
---
include/qemu/qht.h | 67 +++++
util/Makefile.objs | 2 +-
util/qht.c | 722 +++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 790 insertions(+), 1 deletion(-)
create mode 100644 include/qemu/qht.h
create mode 100644 util/qht.c