page-flags.h (9de4f22a60f731943f050f4448bf2933ed3fa70b) | page-flags.h (36e66c554b5c6a9d17a229faca7a61693527b0bd) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Macros for manipulating and testing page->flags 4 */ 5 6#ifndef PAGE_FLAGS_H 7#define PAGE_FLAGS_H 8 --- 154 unchanged lines hidden (view full) --- 163 /* SLOB */ 164 PG_slob_free = PG_private, 165 166 /* Compound pages. Stored in first tail page's flags */ 167 PG_double_map = PG_private_2, 168 169 /* non-lru isolated movable page */ 170 PG_isolated = PG_reclaim, | 1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Macros for manipulating and testing page->flags 4 */ 5 6#ifndef PAGE_FLAGS_H 7#define PAGE_FLAGS_H 8 --- 154 unchanged lines hidden (view full) --- 163 /* SLOB */ 164 PG_slob_free = PG_private, 165 166 /* Compound pages. Stored in first tail page's flags */ 167 PG_double_map = PG_private_2, 168 169 /* non-lru isolated movable page */ 170 PG_isolated = PG_reclaim, |
171 172 /* Only valid for buddy pages. Used to track pages that are reported */ 173 PG_reported = PG_uptodate, |
|
171}; 172 173#ifndef __GENERATING_BOUNDS_H 174 175struct page; /* forward declaration */ 176 177static inline struct page *compound_head(struct page *page) 178{ --- 253 unchanged lines hidden (view full) --- 432#if defined(CONFIG_IDLE_PAGE_TRACKING) && defined(CONFIG_64BIT) 433TESTPAGEFLAG(Young, young, PF_ANY) 434SETPAGEFLAG(Young, young, PF_ANY) 435TESTCLEARFLAG(Young, young, PF_ANY) 436PAGEFLAG(Idle, idle, PF_ANY) 437#endif 438 439/* | 174}; 175 176#ifndef __GENERATING_BOUNDS_H 177 178struct page; /* forward declaration */ 179 180static inline struct page *compound_head(struct page *page) 181{ --- 253 unchanged lines hidden (view full) --- 435#if defined(CONFIG_IDLE_PAGE_TRACKING) && defined(CONFIG_64BIT) 436TESTPAGEFLAG(Young, young, PF_ANY) 437SETPAGEFLAG(Young, young, PF_ANY) 438TESTCLEARFLAG(Young, young, PF_ANY) 439PAGEFLAG(Idle, idle, PF_ANY) 440#endif 441 442/* |
443 * PageReported() is used to track reported free pages within the Buddy 444 * allocator. We can use the non-atomic version of the test and set 445 * operations as both should be shielded with the zone lock to prevent 446 * any possible races on the setting or clearing of the bit. 447 */ 448__PAGEFLAG(Reported, reported, PF_NO_COMPOUND) 449 450/* |
|
440 * On an anonymous page mapped into a user virtual memory area, 441 * page->mapping points to its anon_vma, not to a struct address_space; 442 * with the PAGE_MAPPING_ANON bit set to distinguish it. See rmap.h. 443 * 444 * On an anonymous page in a VM_MERGEABLE area, if CONFIG_KSM is enabled, 445 * the PAGE_MAPPING_MOVABLE bit may be set along with the PAGE_MAPPING_ANON 446 * bit; and then page->mapping points, not to an anon_vma, but to a private 447 * structure which KSM associates with that merged page. See ksm.h. --- 422 unchanged lines hidden --- | 451 * On an anonymous page mapped into a user virtual memory area, 452 * page->mapping points to its anon_vma, not to a struct address_space; 453 * with the PAGE_MAPPING_ANON bit set to distinguish it. See rmap.h. 454 * 455 * On an anonymous page in a VM_MERGEABLE area, if CONFIG_KSM is enabled, 456 * the PAGE_MAPPING_MOVABLE bit may be set along with the PAGE_MAPPING_ANON 457 * bit; and then page->mapping points, not to an anon_vma, but to a private 458 * structure which KSM associates with that merged page. See ksm.h. --- 422 unchanged lines hidden --- |