tmp_suning_uos_patched/Documentation
Sergey Senozhatsky 6566d1a32b zram: add dynamic device add/remove functionality
We currently don't support on-demand device creation.  The one and only
way to have N zram devices is to specify num_devices module parameter
(default value: 1).  IOW if, for some reason, at some point, user wants
to have N + 1 devies he/she must umount all the existing devices, unload
the module, load the module passing num_devices equals to N + 1.  And do
this again, if needed.

This patch introduces zram control sysfs class, which has two sysfs
attrs:
- hot_add      -- add a new zram device
- hot_remove   -- remove a specific (device_id) zram device

hot_add sysfs attr is read-only and has only automatic device id
assignment mode (as requested by Minchan Kim).  read operation performed
on this attr creates a new zram device and returns back its device_id or
error status.

Usage example:
	# add a new specific zram device
	cat /sys/class/zram-control/hot_add
	2

	# remove a specific zram device
	echo 4 > /sys/class/zram-control/hot_remove

Returning zram_add() error code back to user (-ENOMEM in this case)

	cat /sys/class/zram-control/hot_add
	cat: /sys/class/zram-control/hot_add: Cannot allocate memory

NOTE, there might be users who already depend on the fact that at least
zram0 device gets always created by zram_init(). Preserve this behavior.

[minchan@kernel.org: use zram->claim to avoid lockdep splat]
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: Minchan Kim <minchan@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-06-25 17:00:36 -07:00
..
ABI zram: add dynamic device add/remove functionality 2015-06-25 17:00:36 -07:00
accounting
acpi ACPI: Constify ACPI device IDs in documentation 2015-06-19 01:14:15 +02:00
aoe
arm Doc: Change wikipedia's URL from http to https 2015-06-22 10:14:05 -06:00
arm64 arm64: use fixmap region for permanent FDT mapping 2015-06-02 16:31:33 +01:00
auxdisplay
backlight
blackfin
block
blockdev zram: add dynamic device add/remove functionality 2015-06-25 17:00:36 -07:00
bus-devices
cdrom
cgroups
cma
connector
console
cpu-freq Documentation updates for 4.2 2015-06-24 20:01:36 -07:00
cpuidle
cris
crypto
development-process
device-mapper
devicetree Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-06-24 19:56:58 -07:00
dmaengine
DocBook Documentation updates for 4.2 2015-06-24 20:01:36 -07:00
driver-model
dvb
early-userspace
EDID
extcon
fault-injection
fb
features Documentation/features: Explain kernel feature descriptions and add visualization script 2015-06-03 12:59:38 +02:00
filesystems Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs 2015-06-24 20:07:10 -07:00
firmware_class
fmc
frv
gpio Documentation updates for 4.2 2015-06-24 20:01:36 -07:00
hid
hwmon hwmon: add driver for Microchip TC74 2015-06-21 22:54:53 -07:00
i2c i2c: slave: fix the example how to instantiate from userspace 2015-06-17 14:16:27 +02:00
ia64
ide
infiniband
input Doc: Change wikipedia's URL from http to https 2015-06-22 10:14:05 -06:00
ioctl
isdn
ja_JP Doc: ja_JP: Fix typo in HOWTO 2015-06-08 16:43:09 -06:00
kbuild kbuild : Fix documentation of INSTALL_HDR_PATH 2015-06-22 09:56:07 -06:00
kdump
ko_KR
laptops Move freefall program from Documentation/ to tools/ 2015-06-08 16:42:07 -06:00
leds Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-06-24 19:56:58 -07:00
locking
m68k
memory-devices
metag
mic Documentation/mic/mpssd: don't build x86 userspace when cross compiling 2015-06-22 16:05:11 -06:00
mips
misc-devices
mmc
mn10300
mtd
namespaces
netlabel
networking Documentation updates for 4.2 2015-06-24 20:01:36 -07:00
nfc NFC: Fix typo in nfc-hci.txt 2015-06-08 23:15:45 +02:00
nios2
parisc
PCI
pcmcia
phy
platform
power
powerpc powerpc/tm: Abort syscalls in active transactions 2015-06-19 17:10:28 +10:00
pps Doc:pps: Fix typo in pps.txt 2015-06-22 09:59:28 -06:00
prctl Documentation/prctl: don't build tsc tests when cross compiling 2015-06-22 16:05:04 -06:00
pti
ptp
rapidio
RCU Documentation updates for 4.2 2015-06-24 20:01:36 -07:00
s390
scheduler
scsi st: implement tape statistics 2015-06-02 08:03:25 -07:00
security
serial
sh
sound
spi
sysctl watchdog: add watchdog_cpumask sysctl to assist nohz 2015-06-24 17:49:40 -07:00
target SCSI misc on 20150622 2015-06-23 15:55:44 -07:00
thermal
timers
tpm
trace
usb
vDSO Documentation/vDSO: don't build tests when cross compiling 2015-06-22 16:04:57 -06:00
video4linux
virtual KVM: x86: mark legacy PCI device assignment as deprecated 2015-06-05 17:26:39 +02:00
vm Documentation/vm/unevictable-lru.txt: clarify MAP_LOCKED behavior 2015-06-24 17:49:44 -07:00
w1
watchdog
wimax
x86 Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-06-22 17:59:09 -07:00
xtensa
zh_CN Documentation updates for 4.2 2015-06-24 20:01:36 -07:00
00-INDEX
applying-patches.txt
assoc_array.txt
atomic_ops.txt
bad_memory.txt
basic_profiling.txt
bcache.txt
binfmt_misc.txt
braille-console.txt
bt8xxgpio.txt
btmrvl.txt
BUG-HUNTING
bus-virt-phys-mapping.txt
cachetlb.txt
Changes
circular-buffers.txt
clk.txt
coccinelle.txt
CodeOfConflict
CodingStyle
cpu-hotplug.txt
cpu-load.txt
cputopology.txt Documentation: Update cputopology.txt 2015-05-27 15:22:15 +02:00
crc32.txt
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt Doc: Change wikipedia's URL from http to https 2015-06-22 10:14:05 -06:00
dell_rbu.txt
devices.txt
digsig.txt
DMA-API-HOWTO.txt Documentation updates for 4.2 2015-06-24 20:01:36 -07:00
DMA-API.txt PCI: Add pci_bus_addr_t 2015-05-29 17:21:45 -05:00
DMA-attributes.txt
dma-buf-sharing.txt
DMA-ISA-LPC.txt
dontdiff
dynamic-debug-howto.txt
edac.txt EDAC: Update Documentation/edac.txt 2015-06-24 18:17:40 +02:00
efi-stub.txt
eisa.txt
email-clients.txt
flexible-arrays.txt
futex-requeue-pi.txt
gcov.txt
gdb-kernel-debugging.txt
highuid.txt
HOWTO
hsi.txt
hw_random.txt
hwspinlock.txt
init.txt
initrd.txt
intel_txt.txt
Intel-IOMMU.txt
io_ordering.txt
io-mapping.txt
iostats.txt
IPMI.txt
IRQ-affinity.txt
IRQ-domain.txt
IRQ.txt
irqflags-tracing.txt
isapnp.txt
java.txt
kasan.txt Merge branch 'doc/4.2' into docs-next 2015-06-08 17:04:11 -06:00
kernel-doc-nano-HOWTO.txt
kernel-docs.txt
kernel-parameters.txt Documentation updates for 4.2 2015-06-24 20:01:36 -07:00
kernel-per-CPU-kthreads.txt
kmemcheck.txt
kmemleak.txt Doc: Change wikipedia's URL from http to https 2015-06-22 10:14:05 -06:00
kobject.txt
kprobes.txt
kref.txt
kselftest.txt
ldm.txt
local_ops.txt
lockup-watchdogs.txt watchdog: add watchdog_cpumask sysctl to assist nohz 2015-06-24 17:49:40 -07:00
logo.gif
logo.txt
lzo.txt
magic-number.txt
mailbox.txt
Makefile
ManagementStyle
md-cluster.txt
md.txt doc:md: fix typo in md.txt. 2015-06-23 06:49:44 -06:00
media-framework.txt
memory-barriers.txt Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-06-22 14:54:22 -07:00
memory-hotplug.txt
module-signing.txt
mono.txt
nommu-mmap.txt
numastat.txt
oops-tracing.txt
padata.txt
parport-lowlevel.txt
parport.txt
percpu-rw-semaphore.txt
phy.txt
pi-futex.txt
pinctrl.txt
pnp.txt
preempt-locking.txt
printk-formats.txt
pwm.txt
ramoops.txt
rbtree.txt
remoteproc.txt
rfkill.txt
robust-futex-ABI.txt
robust-futexes.txt
rpmsg.txt
rtc.txt
SAK.txt
SecurityBugs
serial-console.txt
sgi-ioc4.txt
SM501.txt
smsc_ece1099.txt
sparse.txt
stable_api_nonsense.txt
stable_kernel_rules.txt stable: Update documentation to clarify preferred procedure 2015-05-22 09:38:56 -06:00
static-keys.txt
SubmitChecklist
SubmittingDrivers
SubmittingPatches
svga.txt
sysfs-rules.txt
sysrq.txt
this_cpu_ops.txt
unaligned-memory-access.txt
unicode.txt
unshare.txt
vfio.txt vfio: powerpc/spapr: Support Dynamic DMA windows 2015-06-11 15:16:55 +10:00
VGA-softcursor.txt
vgaarbiter.txt
video-output.txt
vme_api.txt
volatile-considered-harmful.txt
workqueue.txt
xillybus.txt
xz.txt
zorro.txt