From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>, Ian Jackson <iwj@xenproject.org>,
Wei Liu <wl@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
George Dunlap <george.dunlap@citrix.com>,
Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH RFC 0/4] tools/xenstore: start of rework of xenstored
Date: Fri, 22 Jan 2021 10:23:20 +0100 [thread overview]
Message-ID: <20210122092324.7178-1-jgross@suse.com> (raw)
This is an overture of a major rework of the xenstored internals I've
had lying around for about one year now. It has been blocked by all
the XSA work and live update stuff.
This series has not seen much testing. It is rather meant as a
starting point for discussions whether the approach especially to
drop tdb is accepted or not.
The main reason to drop using tdb is to be able to have references
between nodes, which will be rather interesting for adding the
capability to do live updates even with open transactions.
Other optimizations made possible by this would be to e.g.:
- hook watches directly to nodes, dropping the need to scan all
active watches when modifying a node
- switch transaction handling to a rather simple copy-on-write
scheme
- avoid lots of node copying when traversing the tree
- drop the list children names by replacing it with a linked list of
child nodes
Patches 1 and 2 are in this series basically because they are in my
todo list for xenstored and they need to wait for the tree to be opened
anyway before being able to go in.
Patch 3 is some preparation for removing tdb, but could be taken as a
cleanup patch even without dropping tdb.
In case no one is objecting to drop tdb I'll continue with some further
optimizations.
Juergen Gross (4):
tools/xenstore: simplify xenstored main loop
tools/xenstore: claim resources when running as daemon
tools/xenstore: rework hashtable interfaces
tools/xenstore: drop use of tdb
.gitignore | 2 -
tools/xenstore/Makefile | 9 +-
tools/xenstore/hashtable.c | 234 ++--
tools/xenstore/hashtable.h | 137 +-
tools/xenstore/hashtable_private.h | 85 --
tools/xenstore/tdb.c | 1748 ------------------------
tools/xenstore/tdb.h | 134 --
tools/xenstore/xenstored_core.c | 313 ++---
tools/xenstore/xenstored_core.h | 30 +-
tools/xenstore/xenstored_domain.c | 11 +-
tools/xenstore/xenstored_minios.c | 4 +
tools/xenstore/xenstored_posix.c | 46 +
tools/xenstore/xenstored_transaction.c | 71 +-
tools/xenstore/xenstored_transaction.h | 4 +-
tools/xenstore/xs_tdb_dump.c | 86 --
15 files changed, 426 insertions(+), 2488 deletions(-)
delete mode 100644 tools/xenstore/hashtable_private.h
delete mode 100644 tools/xenstore/tdb.c
delete mode 100644 tools/xenstore/tdb.h
delete mode 100644 tools/xenstore/xs_tdb_dump.c
--
2.26.2
next reply other threads:[~2021-01-22 9:23 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-22 9:23 Juergen Gross [this message]
2021-01-22 9:23 ` [PATCH RFC 1/4] tools/xenstore: simplify xenstored main loop Juergen Gross
2021-01-22 9:23 ` [PATCH RFC 2/4] tools/xenstore: claim resources when running as daemon Juergen Gross
2021-01-22 9:23 ` [PATCH RFC 3/4] tools/xenstore: rework hashtable interfaces Juergen Gross
2021-01-22 9:23 ` [PATCH RFC 4/4] tools/xenstore: drop use of tdb Juergen Gross
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210122092324.7178-1-jgross@suse.com \
--to=jgross@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=george.dunlap@citrix.com \
--cc=iwj@xenproject.org \
--cc=jbeulich@suse.com \
--cc=julien@xen.org \
--cc=sstabellini@kernel.org \
--cc=wl@xen.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.