Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 96256460 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

staging: zcache: delete it



zcache is obsolete and not used anymore, Bob Liu has rewritten it and is
submitting it for inclusion through the main -mm tree, as it should have
been done in the first place...

Cc: Bob Liu <lliubbo@gmail.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Kyungmin Park <kmpark@infradead.org>
Cc: Wanpeng Li <liwanp@linux.vnet.ibm.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f21c5394
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -130,8 +130,6 @@ source "drivers/staging/sb105x/Kconfig"

source "drivers/staging/fwserial/Kconfig"

source "drivers/staging/zcache/Kconfig"

source "drivers/staging/goldfish/Kconfig"

source "drivers/staging/netlogic/Kconfig"
+0 −1
Original line number Diff line number Diff line
@@ -58,7 +58,6 @@ obj-$(CONFIG_DRM_IMX) += imx-drm/
obj-$(CONFIG_DGRP)		+= dgrp/
obj-$(CONFIG_SB105X)		+= sb105x/
obj-$(CONFIG_FIREWIRE_SERIAL)	+= fwserial/
obj-$(CONFIG_ZCACHE)		+= zcache/
obj-$(CONFIG_GOLDFISH)		+= goldfish/
obj-$(CONFIG_USB_DWC2)		+= dwc2/
obj-$(CONFIG_LUSTRE_FS)		+= lustre/

drivers/staging/zcache/Kconfig

deleted100644 → 0
+0 −59
Original line number Diff line number Diff line
config ZCACHE
	tristate "Dynamic compression of swap pages and clean pagecache pages"
	depends on CRYPTO=y && SWAP=y && CLEANCACHE && FRONTSWAP
	select CRYPTO_LZO
	default n
	help
	  Zcache doubles RAM efficiency while providing a significant
	  performance boosts on many workloads.  Zcache uses
	  compression and an in-kernel implementation of transcendent
	  memory to store clean page cache pages and swap in RAM,
	  providing a noticeable reduction in disk I/O.

config ZCACHE_DEBUG
	bool "Enable debug statistics"
	depends on DEBUG_FS && ZCACHE
	default n
	help
	  This is used to provide an debugfs directory with counters of
	  how zcache is doing. You probably want to set this to 'N'.

config RAMSTER
	tristate "Cross-machine RAM capacity sharing, aka peer-to-peer tmem"
	depends on CONFIGFS_FS=y && SYSFS=y && !HIGHMEM && ZCACHE
	depends on NET
	# must ensure struct page is 8-byte aligned
	select HAVE_ALIGNED_STRUCT_PAGE if !64BIT
	default n
	help
	  RAMster allows RAM on other machines in a cluster to be utilized
	  dynamically and symmetrically instead of swapping to a local swap
	  disk, thus improving performance on memory-constrained workloads
	  while minimizing total RAM across the cluster.  RAMster, like
	  zcache2, compresses swap pages into local RAM, but then remotifies
	  the compressed pages to another node in the RAMster cluster.

config RAMSTER_DEBUG
        bool "Enable ramster debug statistics"
        depends on DEBUG_FS && RAMSTER
        default n
        help
          This is used to provide an debugfs directory with counters of
          how ramster is doing. You probably want to set this to 'N'.

# Depends on not-yet-upstreamed mm patches to export end_swap_bio_write and
# __add_to_swap_cache, and implement __swap_writepage (which is swap_writepage
# without the frontswap call. When these are in-tree, the dependency on
# BROKEN can be removed
config ZCACHE_WRITEBACK
	bool "Allow compressed swap pages to be writtenback to swap disk"
	depends on ZCACHE=y && BROKEN
	default n
	help
	  Zcache caches compressed swap pages (and other data) in RAM which
	  often improves performance by avoiding I/O's due to swapping.
	  In some workloads with very long-lived large processes, it can
	  instead reduce performance.  Writeback decompresses zcache-compressed
	  pages (in LRU order) when under memory pressure and writes them to
	  the backing swap disk to ameliorate this problem.  Policy driving
	  writeback is still under development.

drivers/staging/zcache/Makefile

deleted100644 → 0
+0 −8
Original line number Diff line number Diff line
zcache-y	:=		zcache-main.o tmem.o zbud.o
zcache-$(CONFIG_ZCACHE_DEBUG) += debug.o
zcache-$(CONFIG_RAMSTER_DEBUG) += ramster/debug.o
zcache-$(CONFIG_RAMSTER)	+=	ramster/ramster.o ramster/r2net.o
zcache-$(CONFIG_RAMSTER)	+=	ramster/nodemanager.o ramster/tcp.o
zcache-$(CONFIG_RAMSTER)	+=	ramster/heartbeat.o ramster/masklog.o

obj-$(CONFIG_ZCACHE)	+=	zcache.o

drivers/staging/zcache/TODO

deleted100644 → 0
+0 −64
Original line number Diff line number Diff line

** ZCACHE PLAN FOR PROMOTION FROM STAGING **

Last updated: Feb 13, 2013

PLAN STEPS

1. merge zcache and ramster to eliminate horrible code duplication
2. converge on a predictable, writeback-capable allocator
3. use debugfs instead of sysfs (per akpm feedback in 2011)
4. zcache side of cleancache/mm WasActive patch
5. zcache side of frontswap exclusive gets
6. zcache must be able to writeback to physical swap disk
    (per Andrea Arcangeli feedback in 2011)
7. implement adequate policy for writeback
8. frontswap/cleancache work to allow zcache to be loaded
    as a module
9. get core mm developer to review
10. incorporate feedback from review
11. get review/acks from 1-2 additional mm developers
12. incorporate any feedback from additional mm reviews
13. propose location/file-naming in mm tree
14. repeat 9-13 as necessary until akpm is happy and merges

STATUS/OWNERSHIP

1. DONE as part of "new" zcache; in staging/zcache for 3.9
2. DONE as part of "new" zcache (cf zbud.[ch]); in staging/zcache for 3.9
    (this was the core of the zcache1 vs zcache2 flail)
3. DONE as part of "new" zcache; in staging/zcache for 3.9
4. DONE (w/caveats) as part of "new" zcache; per cleancache performance
    feedback see https://lkml.org/lkml/2011/8/17/351, in
    staging/zcache for 3.9; dependent on proposed mm patch, see
    https://lkml.org/lkml/2012/1/25/300 
5. DONE as part of "new" zcache; performance tuning only,
    in staging/zcache for 3.9; dependent on frontswap patch
    merged in 3.7 (33c2a174)
6. DONE (w/caveats), prototyped as part of "new" zcache, had
    bad memory leak; reimplemented to use sjennings clever tricks
    and proposed mm patches with new version in staging/zcache
    for 3.9, see https://lkml.org/lkml/2013/2/6/437;
7. PROTOTYPED as part of "new" zcache; in staging/zcache for 3.9;
    needs more review (plan to discuss at LSF/MM 2013)
9. IN PROGRESS; owned by Konrad Wilk; Mel Gorman provided
   great feedback in August 2012 (unfortunately of "old"
   zcache)
11. NOT DONE; owned by Konrad Wilk and Bob Liu
12. TBD (depends on quantity of feedback)
13. PROPOSED; one suggestion proposed by Dan; needs more ideas/feedback
14. TBD (depends on feedback)

WHO NEEDS TO AGREE

Not sure.  Seth Jennings is now pursuing a separate but semi-parallel
track.  Akpm clearly has to approve for any mm merge to happen.  Minchan
Kim has interest but may be happy if/when zram is merged into mm.  Konrad
Wilk may be maintainer if akpm decides compression is maintainable
separately from the rest of mm.  (More LSF/MM 2013 discussion.)

ZCACHE FUTURE NEW FUNCTIONALITY

A. Support zsmalloc as an alternative high-density allocator
    (See https://lkml.org/lkml/2013/1/23/511)
B. Possibly support three zbuds per pageframe when space allows
Loading