summaryrefslogtreecommitdiffstats
path: root/drivers/staging/erofs/unzip_vle.h
diff options
context:
space:
mode:
authorGao Xiang2018-12-07 17:19:16 +0100
committerGreg Kroah-Hartman2018-12-07 17:10:48 +0100
commit92e6efd566c4a15de9b0ad3e7954448b1ad66f42 (patch)
tree060022a5c381cfd2be613c46aa18eed035cdfc98 /drivers/staging/erofs/unzip_vle.h
parentstaging: erofs: revisit the page submission flow (diff)
downloadkernel-qcow2-linux-92e6efd566c4a15de9b0ad3e7954448b1ad66f42.tar.gz
kernel-qcow2-linux-92e6efd566c4a15de9b0ad3e7954448b1ad66f42.tar.xz
kernel-qcow2-linux-92e6efd566c4a15de9b0ad3e7954448b1ad66f42.zip
staging: erofs: refine compressed pages preload flow
Currently, there are two kinds of compressed pages in erofs: 1) file pages for the in-place decompression and 2) managed pages for cached decompression. Both are all stored in grp->compressed_pages[]. For managed pages, they could already exist or could be preloaded in this round, including the following cases in detail: 1) Already valid (loaded in some previous round); 2) PAGE_UNALLOCATED, should be allocated at the time of submission; 3) Just found in the managed cache, and with an extra page ref. Currently, 1) and 3) can be distinguishable by lock_page and checking its PG_private, which is guaranteed by the reclaim path, but it's better to do a double check by using an extra tag. This patch reworks the preload flow by introducing such the tag by using tagged pointer, too many #ifdefs are removed as well. Reviewed-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Gao Xiang <gaoxiang25@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/erofs/unzip_vle.h')
0 files changed, 0 insertions, 0 deletions