linux/drivers/staging
Dan Magenheimer c89126eabb staging: ramster: ramster-specific changes to zcache/tmem
RAMster implements peer-to-peer transcendent memory, allowing a "cluster"
of kernels to dynamically pool their RAM.

This patch incorporates changes transforming zcache to work with
a remote store.

In tmem.[ch], new "repatriate" (provoke async get) and "localify" (handle
incoming data resulting from an async get) routines combine with a handful
of changes to existing pamops interfaces allow the generic tmem code
to support asynchronous operations.  Also, a new tmem_xhandle struct
groups together key information that must be passed to remote tmem stores.

Zcache-main.c is augmented with a large amount of ramster-specific code
to handle remote operations and "foreign" pages on both ends of the
"remotify" protocol.  New "foreign" pools are auto-created on demand.
A "selfshrinker" thread periodically repatriates remote persistent pages
when local memory conditions allow.  For certain operations, a queue is
necessary to guarantee strict ordering as out-of-order puts/flushes can
cause strange race conditions.  Pampd pointers now either point to local
memory OR describe a remote page; to allow the same 64-bits to describe
either, the LSB is used to differentiate.  Some acrobatics must be performed
to ensure local memory is available to handle a remote persistent get,
or deal with the data directly anyway if the malloc failed.  Lots
of ramster-specific statistics are available via sysfs.

Note: Some debug ifdefs left in for now.
Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-15 09:02:03 -08:00
..
android staging: android, lowmemorykiller: convert to use oom_score_adj 2012-02-13 20:03:42 -08:00
asus_oled Staging: asus_oled: fix NULL-ptr crash on unloading 2012-02-08 14:14:13 -08:00
bcm Staging: bcm: Move directives for the preprocessor statement to enum value in led_control.h 2012-02-13 20:16:14 -08:00
comedi Staging: comedi: logical || vs bitwise | 2012-02-09 10:02:22 -08:00
cptm1217
crystalhd staging: precedence bug in crystalhd_stop_tx_dma_engine() 2012-02-09 09:13:55 -08:00
cxt1e1 Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2012-01-09 12:18:17 -08:00
echo
et131x staging: et131x: Revert changes from previous commit 2011-12-08 15:03:11 -08:00
frontier Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2012-01-09 12:18:17 -08:00
ft1000 Staging: ft1000: ft1000-pcmia: fix space required after that ', ' in ft1000_proc.c 2012-02-09 09:44:35 -08:00
iio staging:iio: Add event monitor example application 2012-02-13 20:10:32 -08:00
keucr Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-01-08 13:21:22 -08:00
line6 staging: line6: separate handling of buffer allocation and stream startup 2012-02-09 09:14:35 -08:00
media Merge tag 'staging-3.3-rc3' into staging-next 2012-02-10 10:58:25 -08:00
mei staging/mei: TODO : how to handle example code after unstaging 2012-02-09 09:44:58 -08:00
nvec staging: nvec: Fix Kconfig dependencies 2012-01-31 10:28:00 -08:00
octeon MIPS: Octeon: Move some Ethernet support files out of staging. 2011-12-07 22:03:28 +00:00
olpc_dcon Staging: olpc_dcon.c: obsolete use of strict_stroul 2011-12-08 15:01:49 -08:00
omapdrm Merge tag 'staging-3.3-rc3' into staging-next 2012-02-10 10:58:25 -08:00
panel staging: panel: Fixed checkpatch warning about simple_strtoul() 2011-09-06 16:49:29 -07:00
phison staging/phison: Convert pci_table entries to PCI_DEVICE (if PCI_ANY_ID is used) 2011-11-28 04:24:32 +09:00
quatech_usb2 module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
quickstart Staging: quickstart: Fix compilation warning on 64 bit arch 2012-02-13 20:08:56 -08:00
ramster staging: ramster: ramster-specific changes to zcache/tmem 2012-02-15 09:02:03 -08:00
rtl8187se Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2011-10-26 15:39:02 +02:00
rtl8192e drivers/staging: adjust double test 2012-02-09 09:13:55 -08:00
rtl8192u staging: Fix typo in ieee80211_rx.c 2012-02-09 09:51:17 -08:00
rtl8712 Merge tag 'staging-3.3-rc3' into staging-next 2012-02-10 10:58:25 -08:00
rts_pstor Merge branch 'master' into pm-sleep 2011-12-21 21:59:45 +01:00
rts5139 staging: rts5139: fix pointer coding style 2012-02-09 09:41:34 -08:00
sbe-2t3e3 Staging: sbe-2t3e3: logical || vs bitwise | 2012-02-09 09:51:17 -08:00
sep staging: Fix SEP build 2012-02-13 14:42:02 -08:00
serial m68k/serial: Remove obsolete IRQ_FLG_* users 2011-11-26 16:22:27 -08:00
serqt_usb2 module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
slicoss staging: slicoss depends on NET 2011-11-18 15:00:48 -08:00
sm7xx Staging: sm7xx: smtcfb.h: fix sparse error 2012-02-13 20:09:38 -08:00
speakup module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
ste_rmi4
telephony telephony: Move to staging 2012-02-08 16:58:04 -08:00
tidspbridge staging: tidspbridge: fix bridge_open memory leaks 2012-02-14 15:38:51 -08:00
usbip Merge tag 'staging-3.3-rc3' into staging-next 2012-02-10 10:58:25 -08:00
vme staging: vme: code convention fix 2012-02-09 09:16:52 -08:00
vt6655 Staging: vt6655: Fix brace coding style issues in ioctl.c 2012-02-09 09:19:21 -08:00
vt6656 staging, vt6656/wpactl.c: Fix mem leak in wpa_ioctl() 2012-02-09 09:20:06 -08:00
winbond USB: convert drivers/staging/* to use module_usb_driver() 2011-11-18 09:42:11 -08:00
wlags49_h2 Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2012-01-09 12:18:17 -08:00
wlags49_h25 Staging: wlags49_h25: Makefile: remove unneeded stuff 2011-10-18 13:36:04 -07:00
wlan-ng Staging: wlan-ng: cap the ssid length 2012-02-09 09:51:47 -08:00
xgifb staging/xgifb: remove remaining duplicate initdef.h defines 2012-02-10 09:56:25 -08:00
zcache staging: fix powerpc linux-next break on zsmalloc 2012-02-13 06:57:17 -08:00
zram staging: zram: Rename module parameter 2012-02-13 20:11:54 -08:00
zsmalloc staging: fix powerpc linux-next break on zsmalloc 2012-02-13 06:57:17 -08:00
Kconfig staging: ramster: enable as staging driver 2012-02-15 09:02:02 -08:00
Makefile staging: ramster: enable as staging driver 2012-02-15 09:02:02 -08:00
staging.c