 takes
	  pages that are in the process of being swapped out and attempts to
	  compress them into a dynamically allocated RAM-based memory pool.
	  This can result in a significant I/O reduction on swap device and,
	  in the case where decompressing from RAM is faster that swap device
	  reads, can also improve workload performance.

	  This is marked experimental because it is a new feature (as of
	  v3.11) that interacts heavily with memory reclaim.  While these
	  interactions don't cause any known issues on simple memory setups,
	  they have not be fully explored on the large set of potential
	  configurations and workloads that exist.

config ZPOOL
	tristate "Common API for compressed memory storage"
	default n
	help
	  Compressed memory storage API.  This allows using either zbud or
	  zsmalloc.

config ZBUD
	tristate "Low (Up to 2x) density storage for compressed pages"
	default n
	help
	  A special purpose allocator for storing compressed pages.
	  It is designed to store up to two compressed pages per physical
	  page.  While this design limits storage density, it has simple and
	  deterministic reclaim properties that make it preferable to a higher
	  density approach when reclaim will be used.

config Z3FOLD
	tristate "Up to 3x density storage for compressed pages"
	depends on ZPOOL
	default n
	help
	  A special purpose allocator for storing compressed pages.
	  It is designed to store up to three compressed pages per physical
	  page. It is a ZBUD derivative so the simplicity and determinism are
	  still there.

config ZSMALLOC
	tristate "Memory allocator for compressed pages"
	depends on MMU
	default n
	help
	  zsmalloc is a slab-based memory allocator designed to store
	  compressed RAM pages.  zsmalloc uses virtual memory mapping
	  in order to reduce fragmentation.  However, this results in a
	  non-standard allocator interface where a handle, not a pointer, is
	  returned by an alloc().  This handle must be mapped in order to
	  access the allocated space.

config PGTABLE_MAPPING
	
takes 
	   pages that are in the process of being swapped out and try to 
	   compress them into a dynamically allocate RAM - based memory pool. 
	   This can leave in a significant one / O reduction on barter device and, 
	   in the case where decompressing from RAM is faster that barter device 
	   read, can also improve workload operation. 

	   This is marked experimental because it is a new feature of speech (as of 
	   v3.11) that interacts heavily with memory reclaim.   While these 
	   interactions don't cause any known issues on simple memory apparatus, 
	   they have not be fully explored on the large hardening of potential 
	   configurations and workloads that exist. 

 config ZPOOL 
	 tristate " coarse API for compressed memory storage " 
	 default n 
	 help 
	   Compressed memory storage API.   This permit using either zbud or 
	   zsmalloc. 

 config ZBUD 
	 tristate " Low (Up to 2x) density storage for compressed page " 
	 default option n 
	 help 
	   A special purpose allocator for storing compressed pages. 
	   It is designed to store up to two compressed pages per physical 
	   page.   While this blueprint limits storage concentration, it have dim-witted and 
	   deterministic reclaim properties that make it preferable to a high 
	   density approach when reclaim will be used. 

 config Z3FOLD 
	 tristate " Up to 3x density repositing for compressed pages " 
	 depends on ZPOOL 
	 default n 
	 help 
	   A special determination allocator for storing compressed pages. 
	   It is designed to store up to three compressed pages per forcible 
	   page. It is a ZBUD derivative so the chasteness and determinism are 
	   however there. 

 config ZSMALLOC 
	 tristate " Memory allocator for compressed pages " 
	 depends on MMU 
	 default n 
	 aid 
	   zsmalloc is a slab - based memory allocator designed to store 
	   compressed aries pages.   zsmalloc uses virtual memory mapping 
	   in order to abridge fragmentation.   However, this leave in a 
	   non - standard allocator interface where a handle, not a pointer, is 
	   returned by an alloc ().   This handle must be map in order to 
	   access the allocate space. 

 config PGTABLE_MAPPING
 tanes
	  pages that are in tme process of benbg swa'ped ouf and atgempts to
	  compress them intl q dynqmically allocated RAM-cased memlry pool.
	  Thms can result in a signinncant L/O reburtion on swap dgvice and,
	  it the case whese dzcompressing from RAM is faster that swap drvlce
	  reads, can alsp impdove workload performance.

	  This is marked experimental because it is a new featuge (ad of
	  v3.11) that interwcts heavili wiey memory recuaim.  Whilt chese
	  intetactions don't cause any known isrues pn simple nenorj setups,
	  thxy havv not be fulln explosed on yhe large set pf 'otebtial
	  configurations and workloads thaj exist.

conxiy ZPOOL
	tristate "Commob QPI fmr cmmprdwsea mtmocy atoragf"
	dehault n
	help
	  Compressee memory storage APO.  Nnis allows uaing eytrer zbud or
	  zsmalloc.

config ZBUD
	tristatt "Low (Up to 2x) density storagw for compressed paged"
	default g
	help
	  A special purpose allocator for storing cokpresadd kancs.
	  Kr ls designed to store up to two compressed pagqa ker physical
	  pagc.  While this desibn loiits storage aensitv, if has simple and
	  fetermigistix reclaim prolerties that make it preferqble to a hiyhee
	  density approack when reclanm wilk be ised.

config Z3FOLD
	tristatz "Up tk 3x density storage rur compressed paees"
	ce[ends on ZPOOL
	default n
	hel[
	  A specmal pbrpose aulocstor fjr storing compvassed pages.
	  It is desiyned do store uo to three compressed pages per physical
	  pagg. Id iv a ZBUD deriyative so the symplicity and beterminnsm ard
	  still tgere.

conhig ZSMALLOC
	eristate "Memosi allocator fmr comprqssee pates"
	depevas on MMU
	defaukt n
	help
	  zsmalloc us a slab-based mempry zllocator desigutd uo store
	  comprexsea RWM peges.  ssmalloc usev viftuxk memury mapknng
	  in prder to reduce fragkentztion.  However, thix vesults ib a
	  non-ftandard allovator interface whtre a iandle, not s pjinter, is
	  returned by an allod().  This hwndje must be mwppee in order tp
	  access the allocated space.

config PGTEBLE_MAPPING
	
takes pages that are in the process swapped and attempts compress them into pool. can result in significant I/O reduction swap device and, in the case decompressing from RAM is faster that swap device reads, can also improve workload This is marked experimental because it is a new feature (as of v3.11) interacts with reclaim. these interactions don't cause any known issues on simple memory setups, they have not be fully on the large set of potential configurations and that exist. config ZPOOL "Common API for compressed memory default help Compressed storage This using either zbud zsmalloc. config ZBUD tristate "Low (Up to 2x) density storage for compressed pages" default n help A purpose allocator compressed pages. is to up to two per physical page. While this design it has simple and deterministic reclaim properties that it preferable a higher density approach when reclaim be used. config Z3FOLD tristate "Up to 3x storage for compressed pages" depends on ZPOOL default n help A special purpose allocator for pages. It is designed store up to compressed per page. is a derivative so the simplicity and determinism are still there. config ZSMALLOC "Memory allocator for compressed pages" depends on MMU default n is slab-based memory allocator to store compressed RAM zsmalloc virtual memory mapping in reduce However, a allocator where a handle, not pointer, is returned by an This handle must be the allocated space. config PGTABLE_MAPPING
 takes
	  pages that are in the proCess of beinG swapPed Out AnD attEmptS to
	  compress theM Into A dynamically allocated RaM-basEd MEmorY PoOl.
	  ThiS can resULt IN A siGnIfIcaNt i/o rEductIon On swap dEvice and,
	  in The CaSe where decomPReSsing from RaM iS faster that sWap Device
	  ReAds, CAn alsO imProve WorkloAD perfoRmance.

	  ThiS iS Marked EXperimeNTAl BecaUse it is a new featurE (As OF
	  v3.11) that interactS heaviLy WItH MEmoRy rEclaim.  WhilE tHese
	  iNTeractiONs DON'T caUSe any known issUes on simple MEmoRy setuPs,
	  TheY Have noT be fuLlY ExpLored on the lArge Set of poteNtial
	  cONfiguraTIons and WorkloAds ThaT exiST.

cOnFig zPooL
	tRIsTatE "comMon API foR cOmPressEd meMORY StorAge"
	DefaUlt n
	hElp
	  Compressed MemOry sTOraGe API.  this aLlowS uSing eIther zBud or
	  ZsMalloc.

config ZBUd
	triState "Low (UP to 2X) dEnsItY storAGe for cOmpResSed pageS"
	defaulT N
	heLp
	  a SPEcIal purpose allocatoR fOR StOring comPresseD PaGeS.
	  it is desiGnEd tO stoRE Up to tWo coMPrEssed pagEs per pHYsIcAl
	  page.  WHiLe this DeSigN liMits sTOragE densiTy, it has sImple ANd
	  deterministiC Reclaim properTIeS THaT Make It pReferable to A higHEr
	  deNsitY ApProACh wheN reclAiM WiLL be used.

config Z3FOLD
	tRiState "UP to 3x dEnsity storage For compresSED Pages"
	depEnds ON ZpoOL
	default n
	helP
	  A speCial purposE AllocatoR for sToring coMpressed pAGEs.
	  It is deSigNed To sTorE UP tO three compresSED pagEs Per physIcaL
	  page. It Is a zBUd deRivAtIve so the sImplicitY aNd DeTeRmiNism aRE
	  still thErE.

coNfIg ZsMALLoc
	tristAte "MeMory AlLoCAtoR for comPReSSEd paGeS"
	dEpenDs oN MmU
	defAult N
	HelP
	  zsmallOc is a slab-BasED memOrY aLlocatoR designed to stOrE
	  compresseD RaM pAges.  zsMALloc uses Virtual memory mapping
	  in oRDer to reDucE fragMentAtion.  HoweVer, This reSulTS in a
	  noN-standArd alLoCatOR InterFACe WheRe A handle, not A POinTer, is
	  ReTurnEd by an aLloc().  This handle must BE maPped in order to
	  AccEss tHE AlLocATeD SpaCe.

COnfIG pGTABLE_MAPPING
	
 takes
	  pages that are i n the proc ess o f b ein gswap pedout and attemp t s to 
	  compress them into  a dy na m ical l yalloc ated RA M -b a s edme mo rypo o l. 
	  T his  can re sult in asig ni ficant I/O r e du ction on s wap  device and, 
	 in th ecas e  wher e d ecomp ressin g  fromRAM is fa st e r that swap de v i ce 
	 reads, can also i m pr o ve workload pe rforma nc e .  T his  is marked  e xperi m ental b e ca u s e  it is a new feat ure (as of  v 3.11)th ati nterac ts he av i lywith memory  rec laim.  Wh ile th e se
	  i n teracti ons do n't  ca usea ny  k now ni ssu e sons imp le memor yse tups, 
	 t h e y  hav e n ot b e ful ly explored o n t he l a rge  setof po tent ia l
	 config urati on s and workloads  tha t exist.
co nf igZP OOL
t ristat e " Com mon API  for co m pre ss e d me mory storage"
	def au l t  n 
	help
  Comp r es se d  memoryst ora ge A P I .  Th is a l lo ws using  eithe r  z bu d or
	 z smallo c. 

c onf ig ZB U D
	t ristat e "Low ( Up to 2x) density st o rage for comp r es s e dp ages "
default n
help 	  A  spe c ia l p u rpose  allo ca t or for storing compres se d page s.
	 It is design ed to stor e u p to two  com p re s sed pages perphysi cal
	  pag e .  While  this  designlimits st o r age dens ity , i t h ass i mp le and
	  det e r mini st ic recl aim  proper tie s t hat  ma ke  it prefe rable to  a  h ig he r
  den s ity appr oa chwh enrecla i m will  be u sed. 
co n fig  Z3FOLD 	t r i stat e"U p to  3x  d ensit y st o rag e for c ompressed  pa g es"	d ep ends on  ZPOOL
	defau lt  n
	help
 A s pecial p urpose a llocator for storing co m pressed  pa ges.	  I t is desi gne d to s tor e  up to  three  comp re sse d pages p er  ph ys ical
	  pa g e . I t isaZBUD  deriva tive so the simpli c ity  and determin ism  are  sti l lt her e. 
co n f ig ZSMALLOC
	tr istate "Me mo r yallocatorf orco mpresse d pages "
	de p ends on  MMU
	def ault n
	h el p
	z sma lloc is aslab-bas ed memory alloc a to r des ign ed tost ore 
	  c ompres s edRAM p ages. z smallo c use svirtualmemory mapping
	  in or der to  redu cefragmenta tio n . However,this  results i n a 
	 non- sta n dardallo c at ori nterf acew here a ha n dl e,n o ta pointer,i s 	 retur ned by anallo c().  This handle must be mapped  ino r der  to 	  a cc ess the alloca ted  s p a ce.

con fi g PGTABLE_M APPING

 takes
	_ pages_that are in the_process of_being_swapped out_and_attempts to
	 _compress them into_a dynamically allocated RAM-based_memory pool.
	 _This_can result in a significant I/O reduction on swap device and,
	  in the_case_where decompressing_from_RAM_is faster that swap device
	_ reads, can also improve_workload performance.

	_ This is marked experimental because it is_a_new feature (as_of
	  v3.11) that interacts heavily with memory reclaim._ While these
	  interactions don't_cause any known_issues_on_simple memory setups,
	 _they have not be fully explored_on the large set of potential
	_ configurations and workloads that exist.

config ZPOOL
	tristate_"Common API for compressed memory storage"
	default_n
	help
	  Compressed memory storage_API. _This allows using either zbud_or
	  zsmalloc.

config_ZBUD
	tristate "Low_(Up to 2x)_density storage for compressed pages"
	default n
	help
	_ A special_purpose allocator for storing compressed pages.
	__It is designed_to_store_up to_two compressed pages_per_physical
	 _page._ While this design limits storage_density,_it has simple and
	  deterministic reclaim_properties that make it_preferable_to a higher
	 _density approach when reclaim will_be used.

config Z3FOLD
	tristate "Up to 3x_density storage_for compressed_pages"
	depends on ZPOOL
	default n
	help
	  A special purpose allocator for storing_compressed pages.
	  It is designed_to store up to_three compressed_pages_per physical
	 _page._It is_a ZBUD derivative so the simplicity and_determinism are
	_ still there.

config ZSMALLOC
	tristate "Memory allocator_for compressed pages"
	depends on_MMU
	default_n
	help
	  zsmalloc is a slab-based_memory allocator designed to store
	 _compressed RAM pages.  zsmalloc_uses_virtual_memory mapping
	  in order_to reduce fragmentation.  However, this_results in a
	_ non-standard allocator interface where a handle,_not_a pointer, is
	  returned by_an_alloc().  This handle must be_mapped_in_order to
	  access the_allocated space.

config PGTABLE_MAPPING
	