[PATCH 20/21] erofs: kill use_vmap module parameter
Gao Xiang
hsiangkao at aol.com
Sun Sep 1 15:51:29 AEST 2019
From: Gao Xiang <gaoxiang25 at huawei.com>
As Christoph said [1],
"vm_map_ram is supposed to generally behave better. So if
it doesn't please report that that to the arch maintainer
and linux-mm so that they can look into the issue. Having
user make choices of deep down kernel internals is just
a horrible interface.
Please talk to maintainers of other bits of the kernel
if you see issues and / or need enhancements. "
Let's redo the previous conclusion and kill the vmap
approach.
[1] https://lore.kernel.org/r/20190830165533.GA10909@infradead.org/
Reported-by: Christoph Hellwig <hch at infradead.org>
Signed-off-by: Gao Xiang <gaoxiang25 at huawei.com>
---
Documentation/filesystems/erofs.txt | 4 ----
fs/erofs/decompressor.c | 12 +-----------
2 files changed, 1 insertion(+), 15 deletions(-)
diff --git a/Documentation/filesystems/erofs.txt b/Documentation/filesystems/erofs.txt
index c3b5f603b2b6..b0c085326e2e 100644
--- a/Documentation/filesystems/erofs.txt
+++ b/Documentation/filesystems/erofs.txt
@@ -67,10 +67,6 @@ cache_strategy=%s Select a strategy for cached decompression from now on:
It still does in-place I/O decompression
for the rest compressed physical clusters.
-Module parameters
-=================
-use_vmap=[0|1] Use vmap() instead of vm_map_ram() (default 0).
-
On-disk details
===============
diff --git a/fs/erofs/decompressor.c b/fs/erofs/decompressor.c
index bb2944c96c89..af273d89e62c 100644
--- a/fs/erofs/decompressor.c
+++ b/fs/erofs/decompressor.c
@@ -28,10 +28,6 @@ struct z_erofs_decompressor {
char *name;
};
-static bool use_vmap;
-module_param(use_vmap, bool, 0444);
-MODULE_PARM_DESC(use_vmap, "Use vmap() instead of vm_map_ram() (default 0)");
-
static int z_erofs_lz4_prepare_destpages(struct z_erofs_decompress_req *rq,
struct list_head *pagepool)
{
@@ -224,9 +220,6 @@ static void *erofs_vmap(struct page **pages, unsigned int count)
{
int i = 0;
- if (use_vmap)
- return vmap(pages, count, VM_MAP, PAGE_KERNEL);
-
while (1) {
void *addr = vm_map_ram(pages, count, -1, PAGE_KERNEL);
@@ -240,10 +233,7 @@ static void *erofs_vmap(struct page **pages, unsigned int count)
static void erofs_vunmap(const void *mem, unsigned int count)
{
- if (!use_vmap)
- vm_unmap_ram(mem, count);
- else
- vunmap(mem);
+ vm_unmap_ram(mem, count);
}
static int z_erofs_decompress_generic(struct z_erofs_decompress_req *rq,
--
2.17.1
More information about the Linux-erofs
mailing list