mirror of https://gitee.com/openkylin/linux.git
mm: move PageDoubleMap bit
Patch series "Fix PageDoubleMap". This is a purely theoretical problem for now as none of the filesystems which use PG_private_2 (ie PG_fscache) are being converted at this time, but it's confusing to leave it like this. This patch (of 2): PG_private_2 is defined as being PF_ANY (applicable to tail pages as well as regular & head pages). That means that the first tail page of a double-map page will appear to have Private2 set. Use the Workingset bit instead which is defined as PF_HEAD so any attempt to access the Workingset bit on a tail page will redirect to the head page's Workingset bit. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Reviewed-by: Zi Yan <ziy@nvidia.com> Link: https://lkml.kernel.org/r/20200629151933.15671-1-willy@infradead.org Link: https://lkml.kernel.org/r/20200629151933.15671-2-willy@infradead.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
ff9f47f6f0
commit
e18c45ffcf
|
@ -167,7 +167,7 @@ enum pageflags {
|
||||||
PG_slob_free = PG_private,
|
PG_slob_free = PG_private,
|
||||||
|
|
||||||
/* Compound pages. Stored in first tail page's flags */
|
/* Compound pages. Stored in first tail page's flags */
|
||||||
PG_double_map = PG_private_2,
|
PG_double_map = PG_workingset,
|
||||||
|
|
||||||
/* non-lru isolated movable page */
|
/* non-lru isolated movable page */
|
||||||
PG_isolated = PG_reclaim,
|
PG_isolated = PG_reclaim,
|
||||||
|
|
Loading…
Reference in New Issue