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

Commit 26c12d93 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'akpm' (incoming from Andrew)

Merge second patch-bomb from Andrew Morton:
 - the rest of MM
 - zram updates
 - zswap updates
 - exit
 - procfs
 - exec
 - wait
 - crash dump
 - lib/idr
 - rapidio
 - adfs, affs, bfs, ufs
 - cris
 - Kconfig things
 - initramfs
 - small amount of IPC material
 - percpu enhancements
 - early ioremap support
 - various other misc things

* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (156 commits)
  MAINTAINERS: update Intel C600 SAS driver maintainers
  fs/ufs: remove unused ufs_super_block_third pointer
  fs/ufs: remove unused ufs_super_block_second pointer
  fs/ufs: remove unused ufs_super_block_first pointer
  fs/ufs/super.c: add __init to init_inodecache()
  doc/kernel-parameters.txt: add early_ioremap_debug
  arm64: add early_ioremap support
  arm64: initialize pgprot info earlier in boot
  x86: use generic early_ioremap
  mm: create generic early_ioremap() support
  x86/mm: sparse warning fix for early_memremap
  lglock: map to spinlock when !CONFIG_SMP
  percpu: add preemption checks to __this_cpu ops
  vmstat: use raw_cpu_ops to avoid false positives on preemption checks
  slub: use raw_cpu_inc for incrementing statistics
  net: replace __this_cpu_inc in route.c with raw_cpu_inc
  modules: use raw_cpu_write for initialization of per cpu refcount.
  mm: use raw_cpu ops for determining current NUMA node
  percpu: add raw_cpu_ops
  slub: fix leak of 'name' in sysfs_slab_add
  ...
parents dc5ed406 fdc5813f
Loading
Loading
Loading
Loading
+30 −9
Original line number Diff line number Diff line
@@ -43,6 +43,36 @@ Description:
		The invalid_io file is read-only and specifies the number of
		non-page-size-aligned I/O requests issued to this device.

What:		/sys/block/zram<id>/failed_reads
Date:		February 2014
Contact:	Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Description:
		The failed_reads file is read-only and specifies the number of
		failed reads happened on this device.

What:		/sys/block/zram<id>/failed_writes
Date:		February 2014
Contact:	Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Description:
		The failed_writes file is read-only and specifies the number of
		failed writes happened on this device.

What:		/sys/block/zram<id>/max_comp_streams
Date:		February 2014
Contact:	Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Description:
		The max_comp_streams file is read-write and specifies the
		number of backend's zcomp_strm compression streams (number of
		concurrent compress operations).

What:		/sys/block/zram<id>/comp_algorithm
Date:		February 2014
Contact:	Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Description:
		The comp_algorithm file is read-write and lets to show
		available and selected compression algorithms, change
		compression algorithm selection.

What:		/sys/block/zram<id>/notify_free
Date:		August 2010
Contact:	Nitin Gupta <ngupta@vflare.org>
@@ -53,15 +83,6 @@ Description:
		is freed. This statistic is applicable only when this disk is
		being used as a swap disk.

What:		/sys/block/zram<id>/discard
Date:		August 2010
Contact:	Nitin Gupta <ngupta@vflare.org>
Description:
		The discard file is read-only and specifies the number of
		discard requests received by this device. These requests
		provide information to block device regarding blocks which are
		no longer used by filesystem.

What:		/sys/block/zram<id>/zero_pages
Date:		August 2010
Contact:	Nitin Gupta <ngupta@vflare.org>
+1 −1
Original line number Diff line number Diff line
@@ -671,7 +671,7 @@ printk(KERN_INFO "my ip: %pI4\n", &amp;ipaddress);

  <sect1 id="routines-local-irqs">
   <title><function>local_irq_save()</function>/<function>local_irq_restore()</function>
    <filename class="headerfile">include/asm/system.h</filename>
    <filename class="headerfile">include/linux/irqflags.h</filename>
   </title>

   <para>
+2 −2
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ ffffffbffa000000 ffffffbffaffffff 16MB PCI I/O space

ffffffbffb000000	ffffffbffbbfffff	  12MB		[guard]

ffffffbffbc00000	ffffffbffbdfffff	   2MB		earlyprintk device
ffffffbffbc00000	ffffffbffbdfffff	   2MB		fixed mappings

ffffffbffbe00000	ffffffbffbffffff	   2MB		[guard]

@@ -66,7 +66,7 @@ fffffdfffa000000 fffffdfffaffffff 16MB PCI I/O space

fffffdfffb000000	fffffdfffbbfffff	  12MB		[guard]

fffffdfffbc00000	fffffdfffbdfffff	   2MB		earlyprintk device
fffffdfffbc00000	fffffdfffbdfffff	   2MB		fixed mappings

fffffdfffbe00000	fffffdfffbffffff	   2MB		[guard]

+48 −6
Original line number Diff line number Diff line
@@ -21,7 +21,43 @@ Following shows a typical sequence of steps for using zram.
	This creates 4 devices: /dev/zram{0,1,2,3}
	(num_devices parameter is optional. Default: 1)

2) Set Disksize
2) Set max number of compression streams
	Compression backend may use up to max_comp_streams compression streams,
	thus allowing up to max_comp_streams concurrent compression operations.
	By default, compression backend uses single compression stream.

	Examples:
	#show max compression streams number
	cat /sys/block/zram0/max_comp_streams

	#set max compression streams number to 3
	echo 3 > /sys/block/zram0/max_comp_streams

Note:
In order to enable compression backend's multi stream support max_comp_streams
must be initially set to desired concurrency level before ZRAM device
initialisation. Once the device initialised as a single stream compression
backend (max_comp_streams equals to 1), you will see error if you try to change
the value of max_comp_streams because single stream compression backend
implemented as a special case by lock overhead issue and does not support
dynamic max_comp_streams. Only multi stream backend supports dynamic
max_comp_streams adjustment.

3) Select compression algorithm
	Using comp_algorithm device attribute one can see available and
	currently selected (shown in square brackets) compression algortithms,
	change selected compression algorithm (once the device is initialised
	there is no way to change compression algorithm).

	Examples:
	#show supported compression algorithms
	cat /sys/block/zram0/comp_algorithm
	lzo [lz4]

	#select lzo compression algorithm
	echo lzo > /sys/block/zram0/comp_algorithm

4) Set Disksize
        Set disk size by writing the value to sysfs node 'disksize'.
        The value can be either in bytes or you can use mem suffixes.
        Examples:
@@ -33,32 +69,38 @@ Following shows a typical sequence of steps for using zram.
            echo 512M > /sys/block/zram0/disksize
            echo 1G > /sys/block/zram0/disksize

3) Activate:
Note:
There is little point creating a zram of greater than twice the size of memory
since we expect a 2:1 compression ratio. Note that zram uses about 0.1% of the
size of the disk when not in use so a huge zram is wasteful.

5) Activate:
	mkswap /dev/zram0
	swapon /dev/zram0

	mkfs.ext4 /dev/zram1
	mount /dev/zram1 /tmp

4) Stats:
6) Stats:
	Per-device statistics are exported as various nodes under
	/sys/block/zram<id>/
		disksize
		num_reads
		num_writes
		failed_reads
		failed_writes
		invalid_io
		notify_free
		discard
		zero_pages
		orig_data_size
		compr_data_size
		mem_used_total

5) Deactivate:
7) Deactivate:
	swapoff /dev/zram0
	umount /dev/zram1

6) Reset:
8) Reset:
	Write any positive value to 'reset' sysfs node
	echo 1 > /sys/block/zram0/reset
	echo 1 > /sys/block/zram1/reset
+2 −2
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ Please note that implementation details can be changed.

   a page/swp_entry may be charged (usage += PAGE_SIZE) at

	mem_cgroup_newpage_charge()
	mem_cgroup_charge_anon()
	  Called at new page fault and Copy-On-Write.

	mem_cgroup_try_charge_swapin()
@@ -32,7 +32,7 @@ Please note that implementation details can be changed.
	  Followed by charge-commit-cancel protocol. (With swap accounting)
	  At commit, a charge recorded in swap_cgroup is removed.

	mem_cgroup_cache_charge()
	mem_cgroup_charge_file()
	  Called at add_to_page_cache()

	mem_cgroup_cache_charge_swapin()
Loading