[xen staging] tmem: default to off

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[xen staging] tmem: default to off

patchbot
commit a67ce55a3e511104e0212bfbafda5215c74e07c7
Author:     Jan Beulich <[hidden email]>
AuthorDate: Fri Jan 11 12:30:29 2019 +0100
Commit:     Jan Beulich <[hidden email]>
CommitDate: Fri Jan 11 12:30:29 2019 +0100

    tmem: default to off
   
    As a short term alternative to deleting the code, default its building
    to off (overridable in EXPERT mode only). Additionally make sure other
    related baggage (LZO code) won't be carried when the option is off (with
    TMEM scheduled to be deleted anyway, I didn't want to introduce a
    separate Kconfig option to control the LZO compression code, and hence
    CONFIG_TMEM is used directly there). Similarly I couldn't be bothered to
    add actual content to the command line option doc for the two affected
    options.
   
    Signed-off-by: Jan Beulich <[hidden email]>
    Reviewed-by: Roger Pau Monné <[hidden email]>
    Acked-by: Wei Liu <[hidden email]>
    Acked-by: Konrad Rzeszutek Wilk <[hidden email]>
    Release-acked-by: Juergen Gross <[hidden email]>
---
 docs/misc/xen-command-line.pandoc |  6 ++++++
 xen/common/Kconfig                | 10 ++++++----
 xen/common/Makefile               |  7 ++++---
 xen/common/lzo.c                  | 11 +++++++++--
 4 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 99c283cb10..d39bcee928 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1969,9 +1969,15 @@ pages) must also be specified via the tbuf_size parameter.
 ### tmem
 > `= <boolean>`
 
+This option (and its underlying code) is going to go away in a future
+Xen version.
+
 ### tmem_compress
 > `= <boolean>`
 
+This option (and its underlying code) is going to go away in a future
+Xen version.
+
 ### tsc (x86)
 > `= unstable | skewed | stable:socket`
 
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 37f850551a..a79cd40441 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -78,17 +78,19 @@ config KEXEC
   If unsure, say Y.
 
 config TMEM
- def_bool y
- prompt "Transcendent Memory Support" if EXPERT = "y"
+ bool "Transcendent Memory Support (deprecated)" if EXPERT = "y"
  ---help---
   Transcendent memory allows PV-aware guests to collaborate on memory
   usage. Guests can 'swap' their memory to the hypervisor or have an
   collective pool of memory shared across guests. The end result is
   less memory usage by guests allowing higher guest density.
 
-  You also have to enable it on the Xen commandline by using tmem=1
+  You also have to enable it on the Xen commandline by using tmem=1.
 
-  If unsure, say Y.
+  WARNING: This option (and its underlying code) is going to go away
+  in a future Xen version.
+
+  If unsure, say N.
 
 config XENOPROF
  def_bool y
diff --git a/xen/common/Makefile b/xen/common/Makefile
index ffdfb7448d..56fc201b6b 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -21,7 +21,7 @@ obj-$(CONFIG_KEXEC) += kimage.o
 obj-y += lib.o
 obj-$(CONFIG_NEEDS_LIST_SORT) += list_sort.o
 obj-$(CONFIG_LIVEPATCH) += livepatch.o livepatch_elf.o
-obj-y += lzo.o
+obj-$(CONFIG_TMEM) += lzo.o
 obj-$(CONFIG_MEM_ACCESS) += mem_access.o
 obj-y += memory.o
 obj-y += monitor.o
@@ -66,8 +66,9 @@ obj-bin-y += warning.init.o
 obj-$(CONFIG_XENOPROF) += xenoprof.o
 obj-y += xmalloc_tlsf.o
 
-obj-bin-$(CONFIG_X86) += $(foreach n,decompress bunzip2 unxz unlzma unlzo unlz4 earlycpio,$(n).init.o)
-
+lzo-y := lzo
+lzo-$(CONFIG_TMEM) :=
+obj-bin-$(CONFIG_X86) += $(foreach n,decompress bunzip2 unxz unlzma $(lzo-y) unlzo unlz4 earlycpio,$(n).init.o)
 
 obj-$(CONFIG_COMPAT) += $(addprefix compat/,domain.o kernel.o memory.o multicall.o xlat.o)
 
diff --git a/xen/common/lzo.c b/xen/common/lzo.c
index 74831cb268..0a11671075 100644
--- a/xen/common/lzo.c
+++ b/xen/common/lzo.c
@@ -105,6 +105,8 @@
 #define get_unaligned_le16(_p) (*(u16 *)(_p))
 #define get_unaligned_le32(_p) (*(u32 *)(_p))
 
+#ifdef CONFIG_TMEM
+
 static noinline size_t
 lzo1x_1_do_compress(const unsigned char *in, size_t in_len,
                     unsigned char *out, size_t *out_len,
@@ -362,6 +364,11 @@ int lzo1x_1_compress(const unsigned char *in, size_t in_len,
     return LZO_E_OK;
 }
 
+# define INIT
+#else /* CONFIG_TMEM */
+# include "decompress.h"
+#endif /* CONFIG_TMEM */
+
 /*
  *  LZO1X Decompressor from LZO
  *
@@ -391,8 +398,8 @@ int lzo1x_1_compress(const unsigned char *in, size_t in_len,
  */
 #define MAX_255_COUNT      ((((size_t)~0) / 255) - 2)
 
-int lzo1x_decompress_safe(const unsigned char *in, size_t in_len,
-                          unsigned char *out, size_t *out_len)
+int INIT lzo1x_decompress_safe(const unsigned char *in, size_t in_len,
+                               unsigned char *out, size_t *out_len)
 {
     unsigned char *op;
     const unsigned char *ip;
--
generated by git-patchbot for /home/xen/git/xen.git#staging


_______________________________________________
Xen-changelog mailing list
[hidden email]
https://lists.xenproject.org/xen-changelog