All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] Tmem bug-fixes and cleanups.
@ 2015-08-28 18:53 Konrad Rzeszutek Wilk
  2015-08-28 18:53 ` [PATCH v3 01/11] tmem: Don't crash/hang/leak hypervisor when using shared pools within an guest Konrad Rzeszutek Wilk
                   ` (10 more replies)
  0 siblings, 11 replies; 31+ messages in thread
From: Konrad Rzeszutek Wilk @ 2015-08-28 18:53 UTC (permalink / raw)
  To: xen-devel, jbeulich, andrew.cooper3, wei.liu2

>From Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> # This line is ignored.
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [PATCH v3] Tmem bug-fixes and cleanups. 
In-Reply-To: 

Hey!

Since v2 [http://lists.xen.org/archives/html/xen-devel/2015-08/msg02134.html]:
 - Addressed all (I hope?) comments.
 - Added 'tmem_oid' structure and made it work with compat layer.
 - Went wild with peppering full stops.
v1:
 - Internal review.

----------------------------------------------------------------------
NEW PATCHES in this series:

 tmem: Spelling and full stop surgery.
 tmem: Use 'struct tmem_oid' in tmem_handle and move it to sysctl header.
 tmem/sysctl: Use 'struct tmem_oid' for every user.
 tmem: Make the uint64_t oid[3] a proper structure: tmem_oid

The rest are the same except where I modified when requested.
----------------------------------------------------------------------

At the Xenhackathon we spoke that the tmem code needs a bit of cleanups
and simplification. One of the things that Andrew mentioned was that the
TMEM_CONTROL should really be part of the sysctl hypercall. As I ventured
this path I realized there were some other issues that need to be taken
care of (like shared pools blowing up).

This patchset has been tested with 32/64 guests, with a 64 hypervisor
and 32 bit toolstack (and also with 64bit toolstack) with success.

For fun I've also created an Linux module:
http://xenbits.xen.org/gitweb/?p=xentesttools/bootstrap.git;a=blob;f=root_image/drivers/tmem_test/tmem_test.c
that I will expand to cover in the future more interesting hypercall
uses.

Going forward the next step will be to:
 - move the 'tmem_control' function to its own file to simplify the code.
 - remove some of the unsafe type uses of the tmem control commands.
 - make migration work.
 
The patches are also in my git tree:

git://xenbits.xen.org/people/konradwilk/xen.git for-4.6/tmem.cleanups.v3

NOTE that I've also cross built it under ARM without any issues.

 tools/libxc/include/xenctrl.h          |   6 +-
 tools/libxc/xc_tmem.c                  | 117 ++++----
 tools/libxl/libxl.c                    |  22 +-
 tools/python/xen/lowlevel/xc/xc.c      |  27 +-
 tools/xenstat/libxenstat/src/xenstat.c |   6 +-
 xen/common/compat/tmem_xen.c           |   6 +-
 xen/common/sysctl.c                    |   7 +-
 xen/common/tmem.c                      | 477 +++++++++++++++++----------------
 xen/include/public/sysctl.h            |  56 ++++
 xen/include/public/tmem.h              |  58 ++--
 xen/include/xen/tmem.h                 |   3 +
 xen/include/xen/tmem_xen.h             |   4 -
 xen/include/xlat.lst                   |   1 +
 xen/include/xsm/dummy.h                |   6 -
 xen/include/xsm/xsm.h                  |   6 -
 xen/xsm/dummy.c                        |   1 -
 xen/xsm/flask/hooks.c                  |   9 +-
 xen/xsm/flask/policy/access_vectors    |   2 +-
 18 files changed, 423 insertions(+), 391 deletions(-)

Konrad Rzeszutek Wilk (11):
      tmem: Don't crash/hang/leak hypervisor when using shared pools within an guest.
      tmem: Add ASSERT in obj_rb_insert for pool->rwlock lock.
      tmem: Remove in xc_tmem_control_oid duplicate set_xen_guest_handle call
      tmem: Remove xc_tmem_control mystical arg3
      tmem: Move TMEM_CONTROL subop of tmem hypercall to sysctl.
      tmem: Remove the old tmem control XSM checks as it is part of sysctl hypercall.
      tmem: Make the uint64_t oid[3] a proper structure: tmem_oid
      tmem/sysctl: Use 'struct tmem_oid' for every user.
      tmem: Use 'struct tmem_oid' in tmem_handle and move it to sysctl header.
      tmem: Remove extra spaces at end and some hard tabbing.
      tmem: Spelling and full stop surgery.

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

end of thread, other threads:[~2015-09-02  6:46 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-28 18:53 [PATCH v3] Tmem bug-fixes and cleanups Konrad Rzeszutek Wilk
2015-08-28 18:53 ` [PATCH v3 01/11] tmem: Don't crash/hang/leak hypervisor when using shared pools within an guest Konrad Rzeszutek Wilk
2015-08-28 18:53 ` [PATCH v3 02/11] tmem: Add ASSERT in obj_rb_insert for pool->rwlock lock Konrad Rzeszutek Wilk
2015-08-31 11:24   ` Jan Beulich
2015-08-28 18:53 ` [PATCH v3 03/11] tmem: Remove in xc_tmem_control_oid duplicate set_xen_guest_handle call Konrad Rzeszutek Wilk
2015-08-28 18:53 ` [PATCH v3 04/11] tmem: Remove xc_tmem_control mystical arg3 Konrad Rzeszutek Wilk
2015-08-28 18:53 ` [PATCH v3 05/11] tmem: Move TMEM_CONTROL subop of tmem hypercall to sysctl Konrad Rzeszutek Wilk
2015-08-31 11:32   ` Jan Beulich
2015-08-28 18:53 ` [PATCH v3 06/11] tmem: Remove the old tmem control XSM checks as it is part of sysctl hypercall Konrad Rzeszutek Wilk
2015-08-28 18:53 ` [PATCH v3 07/11] tmem: Make the uint64_t oid[3] a proper structure: tmem_oid Konrad Rzeszutek Wilk
2015-08-31 11:38   ` Jan Beulich
2015-08-31 15:37     ` Konrad Rzeszutek Wilk
2015-08-31 15:56       ` Jan Beulich
2015-08-31 16:14         ` Konrad Rzeszutek Wilk
2015-09-01  7:04           ` Jan Beulich
2015-09-01 15:23             ` Konrad Rzeszutek Wilk
2015-09-01 15:54               ` Jan Beulich
2015-09-01 16:55                 ` Konrad Rzeszutek Wilk
2015-09-01 20:11                 ` Konrad Rzeszutek Wilk
2015-09-02  6:43                   ` Jan Beulich
2015-09-01 15:18           ` Konrad Rzeszutek Wilk
2015-09-01 15:37             ` Jan Beulich
2015-09-01 15:53               ` Konrad Rzeszutek Wilk
2015-08-28 18:53 ` [PATCH v3 08/11] tmem/sysctl: Use 'struct tmem_oid' for every user Konrad Rzeszutek Wilk
2015-08-31 11:42   ` Jan Beulich
2015-08-28 18:53 ` [PATCH v3 09/11] tmem: Use 'struct tmem_oid' in tmem_handle and move it to sysctl header Konrad Rzeszutek Wilk
2015-08-31 11:44   ` Jan Beulich
2015-09-01 20:12   ` Konrad Rzeszutek Wilk
2015-09-02  6:46     ` Jan Beulich
2015-08-28 18:53 ` [PATCH v3 10/11] tmem: Remove extra spaces at end and some hard tabbing Konrad Rzeszutek Wilk
2015-08-28 18:53 ` [PATCH v3 11/11] tmem: Spelling and full stop surgery Konrad Rzeszutek Wilk

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.