All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V4 00/24] JSON infrastructure, new "xl-json" format and domain configuration synchronization
@ 2014-05-01 12:57 Wei Liu
  2014-05-01 12:57 ` [PATCH V4 01/24] xl / libxl: push parsing of SSID and CPU pool ID down to libxl Wei Liu
                   ` (24 more replies)
  0 siblings, 25 replies; 120+ messages in thread
From: Wei Liu @ 2014-05-01 12:57 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell

This series contains all patches necessary to fully preserve domain
configurations across save / restore.

It's divided to several parts:
1. first few patches are bugfixes, doc updates
2. JSON infrastructure to manipulate domain configuration
3. new "xl-json" format
4. update stored domain configuration as we update runtime domain configs

I've run test-amd64-amd64-xl and test-amd64-amd64-xl-qemuu-debianhvm-amd64
in OSSTest standalone mode, this series passed both testcases.

OSSTest is only able to test first 3 parts of the series. So I also did some
manual testing for device hotplug. The main problem discovered is that when a
device is removed, but the backend times out, the device is considered not
removed. But in fact in that case (backend timed out) the device is force
removed. This series contains a patch to fix that behavior.

And for the 4th part of this series, the synchronization is done in xl level.
AIUI libxl userdata store contains the data of from the user of this library,
so "xl-json" format is xl centric. It's also possible to push the
synchronization to libxl level, but that looks wrong to me. Correct me if I've
mistaken the usage of libxl userdata store.

Wei.

Changes in V4:
* minor bug fixes to parser
* push option parsing down to libxl level
* introduce deep copy functions
* handle domain configuration changes when setting memory targets
* handle domain configuration changes when plug / unplug device

Changes in V3:
* remove libxl__integer_parse_json and add functions for specific
  integer types
* relax some checkings on invalid inputs
* libxl__json_parse_callback now takes gc instead of ctx
* rewrite "allow basic JSON type objects generation"
* ... and address some other misc things mentioned by IanC

Changes in V2:
* address IanC's comments on JSON parser
* add "xl-json" format patch


Wei Liu (24):
  xl / libxl: push parsing of SSID and CPU pool ID down to libxl
  libxl: fix memory leak in libxl_cpuid_dispose
  libxl.h: document the paradigm of using libxl types
  libxl.h: move / add some libxl defbool #define here
  libxl IDL: rename json_fn to json_gen_fn
  libxl_json: introduce libx__object_from_json
  libxl_internal: make JSON_* types a bit-field
  libxl_internal: introduce libxl__json_object_is_{null,number,double}
  libxl_json: introduce parser functions for builtin types
  libxl_json: allow basic JSON type objects generation
  libxl/gentypes.py: include discriminator in JSON output
  libxl IDL: generate code to parse libxl__json_object to libxl_FOO
    struct
  libxl/gentest.py: test JSON parser
  libxl: introduce libxl_key_value_list_length
  libxl: introduce libxl_cpuid_policy_list_length
  libxl: copy function for builtin types
  libxl IDL: generate deep copy functions
  libxl/gentest.py: test deep copy functions
  xl: introduce and use "xl-json" format
  xl: introduce load/save_domain_config
  xl: update domain configuration when running mem-set and mem-max
  xl: update domain configuration when we hotplug a device
  libxl: consider force removal of device successful
  xl: update configuration when we unplug a device

 docs/man/xl.cfg.pod.5                |    3 +-
 docs/man/xl.pod.1                    |   21 +
 tools/libxl/gentest.py               |   64 ++-
 tools/libxl/gentypes.py              |  198 +++++++++-
 tools/libxl/idl.py                   |   38 +-
 tools/libxl/idl.txt                  |   21 +-
 tools/libxl/libxl.c                  |  106 ++++-
 tools/libxl/libxl.h                  |   40 +-
 tools/libxl/libxl_cpuid.c            |  131 ++++++-
 tools/libxl/libxl_create.c           |   57 +++
 tools/libxl/libxl_device.c           |   12 +-
 tools/libxl/libxl_dm.c               |    4 +
 tools/libxl/libxl_internal.h         |   44 ++-
 tools/libxl/libxl_json.c             |  355 ++++++++++++++---
 tools/libxl/libxl_json.h             |   36 +-
 tools/libxl/libxl_nocpuid.c          |   13 +
 tools/libxl/libxl_types.idl          |   43 +-
 tools/libxl/libxl_types_internal.idl |    4 +-
 tools/libxl/libxl_utils.c            |   56 +++
 tools/libxl/libxl_utils.h            |    7 +
 tools/libxl/libxl_uuid.c             |   12 +
 tools/libxl/libxl_uuid.h             |    4 +
 tools/libxl/xl_cmdimpl.c             |  715 ++++++++++++++++++++++++----------
 tools/libxl/xl_cmdtable.c            |   11 +-
 tools/libxl/xl_sxp.c                 |    7 +-
 25 files changed, 1662 insertions(+), 340 deletions(-)

-- 
1.7.10.4

^ permalink raw reply	[flat|nested] 120+ messages in thread

end of thread, other threads:[~2014-05-13 11:58 UTC | newest]

Thread overview: 120+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-01 12:57 [PATCH V4 00/24] JSON infrastructure, new "xl-json" format and domain configuration synchronization Wei Liu
2014-05-01 12:57 ` [PATCH V4 01/24] xl / libxl: push parsing of SSID and CPU pool ID down to libxl Wei Liu
2014-05-06 12:45   ` Ian Campbell
2014-05-06 13:03     ` Wei Liu
2014-05-07  9:50       ` Ian Campbell
2014-05-07 10:30         ` Wei Liu
2014-05-01 12:57 ` [PATCH V4 02/24] libxl: fix memory leak in libxl_cpuid_dispose Wei Liu
2014-05-06 12:47   ` Ian Campbell
2014-05-01 12:58 ` [PATCH V4 03/24] libxl.h: document the paradigm of using libxl types Wei Liu
2014-05-06 12:49   ` Ian Campbell
2014-05-06 13:12     ` Ian Jackson
2014-05-06 13:49       ` Wei Liu
2014-05-07  9:53       ` Ian Campbell
2014-05-01 12:58 ` [PATCH V4 04/24] libxl.h: move / add some libxl defbool #define here Wei Liu
2014-05-06 12:50   ` Ian Campbell
2014-05-01 12:58 ` [PATCH V4 05/24] libxl IDL: rename json_fn to json_gen_fn Wei Liu
2014-05-01 12:58 ` [PATCH V4 06/24] libxl_json: introduce libx__object_from_json Wei Liu
2014-05-06 12:53   ` Ian Campbell
2014-05-01 12:58 ` [PATCH V4 07/24] libxl_internal: make JSON_* types a bit-field Wei Liu
2014-05-01 12:58 ` [PATCH V4 08/24] libxl_internal: introduce libxl__json_object_is_{null, number, double} Wei Liu
2014-05-01 12:58 ` [PATCH V4 09/24] libxl_json: introduce parser functions for builtin types Wei Liu
2014-05-06 12:57   ` Ian Campbell
2014-05-06 13:06     ` Wei Liu
2014-05-07  9:57       ` Ian Campbell
2014-05-06 13:57     ` Anthony PERARD
2014-05-06 14:04       ` Wei Liu
2014-05-06 14:35         ` Anthony PERARD
2014-05-06 14:45           ` Wei Liu
2014-05-06 14:49             ` Wei Liu
2014-05-06 15:14               ` Anthony PERARD
2014-05-06 15:42                 ` Wei Liu
2014-05-06 15:59                   ` Anthony PERARD
2014-05-06 16:13                     ` Wei Liu
2014-05-12 16:43                   ` Wei Liu
2014-05-13  8:26                     ` Ian Campbell
2014-05-13  9:19                       ` Wei Liu
2014-05-13  9:32                         ` Ian Campbell
2014-05-13 10:40                           ` Wei Liu
2014-05-13 10:45                             ` Ian Campbell
2014-05-13 10:51                               ` Wei Liu
2014-05-13 10:55                                 ` Ian Campbell
2014-05-13 11:03                                   ` Wei Liu
2014-05-13 11:13                                     ` Ian Campbell
2014-05-13 11:38                                       ` Wei Liu
2014-05-13 11:28                                     ` Anthony PERARD
2014-05-13 11:40                                       ` Wei Liu
2014-05-13 11:54                                         ` Ian Campbell
2014-05-13 11:58                                           ` Wei Liu
2014-05-01 12:58 ` [PATCH V4 10/24] libxl_json: allow basic JSON type objects generation Wei Liu
2014-05-06 13:02   ` Ian Campbell
2014-05-01 12:58 ` [PATCH V4 11/24] libxl/gentypes.py: include discriminator in JSON output Wei Liu
2014-05-06 13:03   ` Ian Campbell
2014-05-06 13:09     ` Wei Liu
2014-05-07 10:00       ` Ian Campbell
2014-05-07 10:35         ` Wei Liu
2014-05-07 10:45           ` Ian Campbell
2014-05-01 12:58 ` [PATCH V4 12/24] libxl IDL: generate code to parse libxl__json_object to libxl_FOO struct Wei Liu
2014-05-06 13:45   ` Ian Campbell
2014-05-01 12:58 ` [PATCH V4 13/24] libxl/gentest.py: test JSON parser Wei Liu
2014-05-06 13:46   ` Ian Campbell
2014-05-06 14:11     ` Wei Liu
2014-05-01 12:58 ` [PATCH V4 14/24] libxl: introduce libxl_key_value_list_length Wei Liu
2014-05-06 13:50   ` Ian Campbell
2014-05-06 14:13     ` Wei Liu
2014-05-01 12:58 ` [PATCH V4 15/24] libxl: introduce libxl_cpuid_policy_list_length Wei Liu
2014-05-06 13:51   ` Ian Campbell
2014-05-06 14:17     ` Wei Liu
2014-05-01 12:58 ` [PATCH V4 16/24] libxl: copy function for builtin types Wei Liu
2014-05-06 14:03   ` Ian Campbell
2014-05-06 14:36     ` Wei Liu
2014-05-07 10:05       ` Ian Campbell
2014-05-07 10:19         ` Wei Liu
2014-05-07 10:40           ` Ian Campbell
2014-05-07 10:47     ` Ian Jackson
2014-05-07 10:57       ` Ian Campbell
2014-05-07 12:55         ` Wei Liu
2014-05-07 13:10           ` Ian Campbell
2014-05-01 12:58 ` [PATCH V4 17/24] libxl IDL: generate deep copy functions Wei Liu
2014-05-06 14:06   ` Ian Campbell
2014-05-01 12:58 ` [PATCH V4 18/24] libxl/gentest.py: test " Wei Liu
2014-05-06 14:06   ` Ian Campbell
2014-05-01 12:58 ` [PATCH V4 19/24] xl: introduce and use "xl-json" format Wei Liu
2014-05-06 14:26   ` Ian Campbell
2014-05-06 15:17     ` Wei Liu
2014-05-06 16:35       ` Wei Liu
2014-05-07 10:11       ` Ian Campbell
2014-05-07 11:18         ` Ian Jackson
2014-05-07 11:20         ` Wei Liu
2014-05-07 11:30           ` Ian Campbell
2014-05-07 13:00             ` Wei Liu
2014-05-07 13:08               ` Ian Campbell
2014-05-07 11:16       ` Ian Jackson
2014-05-07 11:20         ` Ian Campbell
2014-05-07 12:56         ` Wei Liu
2014-05-01 12:58 ` [PATCH V4 20/24] xl: introduce load/save_domain_config Wei Liu
2014-05-06 14:28   ` Ian Campbell
2014-05-06 15:03     ` Wei Liu
2014-05-07 10:12       ` Ian Campbell
2014-05-01 12:58 ` [PATCH V4 21/24] xl: update domain configuration when running mem-set and mem-max Wei Liu
2014-05-06 14:30   ` Ian Campbell
2014-05-06 14:56     ` Wei Liu
2014-05-01 12:58 ` [PATCH V4 22/24] xl: update domain configuration when we hotplug a device Wei Liu
2014-05-06 15:44   ` Ian Campbell
2014-05-06 15:58     ` Wei Liu
2014-05-07 10:16       ` Ian Campbell
2014-05-06 16:57   ` David Vrabel
2014-05-06 17:13     ` Wei Liu
2014-05-07 10:21       ` David Vrabel
2014-05-07 10:42         ` Ian Campbell
2014-05-07 10:59       ` Andrew Cooper
2014-05-01 12:58 ` [PATCH V4 23/24] libxl: consider force removal of device successful Wei Liu
2014-05-06 15:48   ` Ian Campbell
2014-05-06 16:04     ` Wei Liu
2014-05-07 10:18       ` Ian Campbell
2014-05-07 13:09         ` Wei Liu
2014-05-01 12:58 ` [PATCH V4 24/24] xl: update configuration when we unplug a device Wei Liu
2014-05-06 15:55   ` Ian Campbell
2014-05-06 16:12     ` Wei Liu
2014-05-07 10:20       ` Ian Campbell
2014-05-01 13:02 ` [PATCH V4 00/24] JSON infrastructure, new "xl-json" format and domain configuration synchronization Wei Liu

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.