mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-30 07:34:12 +08:00
include/linux/hugetlb.h: add synchronization information for new hugetlb specific flags
Add comments, no functional change. Link: https://lkml.kernel.org/r/62a80585-2a73-10cc-4a2d-5721540d4ad2@oracle.com Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com> Acked-by: Michal Hocko <mhocko@suse.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
6c03714901
commit
d95c033777
@ -480,14 +480,24 @@ unsigned long hugetlb_get_unmapped_area(struct file *file, unsigned long addr,
|
|||||||
* HPG_restore_reserve - Set when a hugetlb page consumes a reservation at
|
* HPG_restore_reserve - Set when a hugetlb page consumes a reservation at
|
||||||
* allocation time. Cleared when page is fully instantiated. Free
|
* allocation time. Cleared when page is fully instantiated. Free
|
||||||
* routine checks flag to restore a reservation on error paths.
|
* routine checks flag to restore a reservation on error paths.
|
||||||
|
* Synchronization: Examined or modified by code that knows it has
|
||||||
|
* the only reference to page. i.e. After allocation but before use
|
||||||
|
* or when the page is being freed.
|
||||||
* HPG_migratable - Set after a newly allocated page is added to the page
|
* HPG_migratable - Set after a newly allocated page is added to the page
|
||||||
* cache and/or page tables. Indicates the page is a candidate for
|
* cache and/or page tables. Indicates the page is a candidate for
|
||||||
* migration.
|
* migration.
|
||||||
|
* Synchronization: Initially set after new page allocation with no
|
||||||
|
* locking. When examined and modified during migration processing
|
||||||
|
* (isolate, migrate, putback) the hugetlb_lock is held.
|
||||||
* HPG_temporary - - Set on a page that is temporarily allocated from the buddy
|
* HPG_temporary - - Set on a page that is temporarily allocated from the buddy
|
||||||
* allocator. Typically used for migration target pages when no pages
|
* allocator. Typically used for migration target pages when no pages
|
||||||
* are available in the pool. The hugetlb free page path will
|
* are available in the pool. The hugetlb free page path will
|
||||||
* immediately free pages with this flag set to the buddy allocator.
|
* immediately free pages with this flag set to the buddy allocator.
|
||||||
|
* Synchronization: Can be set after huge page allocation from buddy when
|
||||||
|
* code knows it has only reference. All other examinations and
|
||||||
|
* modifications require hugetlb_lock.
|
||||||
* HPG_freed - Set when page is on the free lists.
|
* HPG_freed - Set when page is on the free lists.
|
||||||
|
* Synchronization: hugetlb_lock held for examination and modification.
|
||||||
*/
|
*/
|
||||||
enum hugetlb_page_flags {
|
enum hugetlb_page_flags {
|
||||||
HPG_restore_reserve = 0,
|
HPG_restore_reserve = 0,
|
||||||
|
Loading…
Reference in New Issue
Block a user