diff options
| author | Gao Xiang <[email protected]> | 2018-12-08 00:19:16 +0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <[email protected]> | 2018-12-07 17:10:48 +0100 |
| commit | 92e6efd566c4a15de9b0ad3e7954448b1ad66f42 (patch) | |
| tree | 060022a5c381cfd2be613c46aa18eed035cdfc98 /tools/perf/scripts/python/event_analyzing_sample.py | |
| parent | 9248fce714d5317650b316cf418ea396562e767e (diff) | |
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 <[email protected]>
Signed-off-by: Gao Xiang <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/event_analyzing_sample.py')
0 files changed, 0 insertions, 0 deletions