Skip to content

Commit 1c52283

Browse files
committed
Merge branch 'akpm' (patches from Andrew)
Merge yet more updates from Andrew Morton: "This is the post-linux-next queue. Material which was based on or dependent upon material which was in -next. 69 patches. Subsystems affected by this patch series: mm (migration and zsmalloc), sysctl, proc, and lib" * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (69 commits) mm: hide the FRONTSWAP Kconfig symbol frontswap: remove support for multiple ops mm: mark swap_lock and swap_active_head static frontswap: simplify frontswap_register_ops frontswap: remove frontswap_test mm: simplify try_to_unuse frontswap: remove the frontswap exports frontswap: simplify frontswap_init frontswap: remove frontswap_curr_pages frontswap: remove frontswap_shrink frontswap: remove frontswap_tmem_exclusive_gets frontswap: remove frontswap_writethrough mm: remove cleancache lib/stackdepot: always do filter_irq_stacks() in stack_depot_save() lib/stackdepot: allow optional init and stack_table allocation by kvmalloc() proc: remove PDE_DATA() completely fs: proc: store PDE()->data into inode->i_private zsmalloc: replace get_cpu_var with local_lock zsmalloc: replace per zpage lock with pool->migrate_lock locking/rwlocks: introduce write_lock_nested ...
2 parents 8205ae3 + 6e61dde commit 1c52283

File tree

172 files changed

+1766
-2820
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

172 files changed

+1766
-2820
lines changed

Documentation/vm/cleancache.rst

Lines changed: 0 additions & 296 deletions
This file was deleted.

Documentation/vm/frontswap.rst

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,6 @@ Frontswap provides a "transcendent memory" interface for swap pages.
88
In some environments, dramatic performance savings may be obtained because
99
swapped pages are saved in RAM (or a RAM-like device) instead of a swap disk.
1010

11-
(Note, frontswap -- and :ref:`cleancache` (merged at 3.0) -- are the "frontends"
12-
and the only necessary changes to the core kernel for transcendent memory;
13-
all other supporting code -- the "backends" -- is implemented as drivers.
14-
See the LWN.net article `Transcendent memory in a nutshell`_
15-
for a detailed overview of frontswap and related kernel parts)
16-
1711
.. _Transcendent memory in a nutshell: https://lwn.net/Articles/454795/
1812

1913
Frontswap is so named because it can be thought of as the opposite of
@@ -45,12 +39,6 @@ a disk write and, if the data is later read back, a disk read are avoided.
4539
If a store returns failure, transcendent memory has rejected the data, and the
4640
page can be written to swap as usual.
4741

48-
If a backend chooses, frontswap can be configured as a "writethrough
49-
cache" by calling frontswap_writethrough(). In this mode, the reduction
50-
in swap device writes is lost (and also a non-trivial performance advantage)
51-
in order to allow the backend to arbitrarily "reclaim" space used to
52-
store frontswap pages to more completely manage its memory usage.
53-
5442
Note that if a page is stored and the page already exists in transcendent memory
5543
(a "duplicate" store), either the store succeeds and the data is overwritten,
5644
or the store fails AND the page is invalidated. This ensures stale data may
@@ -87,11 +75,9 @@ This interface is ideal when data is transformed to a different form
8775
and size (such as with compression) or secretly moved (as might be
8876
useful for write-balancing for some RAM-like devices). Swap pages (and
8977
evicted page-cache pages) are a great use for this kind of slower-than-RAM-
90-
but-much-faster-than-disk "pseudo-RAM device" and the frontswap (and
91-
cleancache) interface to transcendent memory provides a nice way to read
92-
and write -- and indirectly "name" -- the pages.
78+
but-much-faster-than-disk "pseudo-RAM device".
9379

94-
Frontswap -- and cleancache -- with a fairly small impact on the kernel,
80+
Frontswap with a fairly small impact on the kernel,
9581
provides a huge amount of flexibility for more dynamic, flexible RAM
9682
utilization in various system configurations:
9783

@@ -269,19 +255,6 @@ the old data and ensure that it is no longer accessible. Since the
269255
swap subsystem then writes the new data to the read swap device,
270256
this is the correct course of action to ensure coherency.
271257

272-
* What is frontswap_shrink for?
273-
274-
When the (non-frontswap) swap subsystem swaps out a page to a real
275-
swap device, that page is only taking up low-value pre-allocated disk
276-
space. But if frontswap has placed a page in transcendent memory, that
277-
page may be taking up valuable real estate. The frontswap_shrink
278-
routine allows code outside of the swap subsystem to force pages out
279-
of the memory managed by frontswap and back into kernel-addressable memory.
280-
For example, in RAMster, a "suction driver" thread will attempt
281-
to "repatriate" pages sent to a remote machine back to the local machine;
282-
this is driven using the frontswap_shrink mechanism when memory pressure
283-
subsides.
284-
285258
* Why does the frontswap patch create the new include file swapfile.h?
286259

287260
The frontswap code depends on some swap-subsystem-internal data

Documentation/vm/index.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ algorithms. If you are looking for advice on simply allocating memory, see the
1515
active_mm
1616
arch_pgtable_helpers
1717
balance
18-
cleancache
1918
damon/index
2019
free_page_reporting
2120
frontswap

MAINTAINERS

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4705,13 +4705,6 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/cla
47054705
F: include/linux/cfi.h
47064706
F: kernel/cfi.c
47074707

4708-
CLEANCACHE API
4709-
M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
4710-
L: linux-kernel@vger.kernel.org
4711-
S: Maintained
4712-
F: include/linux/cleancache.h
4713-
F: mm/cleancache.c
4714-
47154708
CLK API
47164709
M: Russell King <linux@armlinux.org.uk>
47174710
L: linux-clk@vger.kernel.org

arch/alpha/kernel/srm_env.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,14 @@ static int srm_env_proc_show(struct seq_file *m, void *v)
8383

8484
static int srm_env_proc_open(struct inode *inode, struct file *file)
8585
{
86-
return single_open(file, srm_env_proc_show, PDE_DATA(inode));
86+
return single_open(file, srm_env_proc_show, pde_data(inode));
8787
}
8888

8989
static ssize_t srm_env_proc_write(struct file *file, const char __user *buffer,
9090
size_t count, loff_t *pos)
9191
{
9292
int res;
93-
unsigned long id = (unsigned long)PDE_DATA(file_inode(file));
93+
unsigned long id = (unsigned long)pde_data(file_inode(file));
9494
char *buf = (char *) __get_free_page(GFP_USER);
9595
unsigned long ret1, ret2;
9696

0 commit comments

Comments
 (0)