* + documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio.patch added to mm-unstable branch
@ 2023-01-19 22:32 Andrew Morton
0 siblings, 0 replies; 2+ messages in thread
From: Andrew Morton @ 2023-01-19 22:32 UTC (permalink / raw)
To: mm-commits, willy, songmuchun, mike.kravetz, jhubbard,
sidhartha.kumar, akpm
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 10648 bytes --]
The patch titled
Subject: Documentation/mm: update hugetlbfs documentation to mention alloc_hugetlb_folio
has been added to the -mm mm-unstable branch. Its filename is
documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio.patch
This patch will shortly appear at
https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio.patch
This patch will later appear in the mm-unstable branch at
git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Before you just go and hit "reply", please:
a) Consider who else should be cc'ed
b) Prefer to cc a suitable mailing list as well
c) Ideally: find the original patch on the mailing list and do a
reply-to-all to that, adding suitable additional cc's
*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***
The -mm tree is included into linux-next via the mm-everything
branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
and is updated there every 2-3 working days
------------------------------------------------------
From: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Subject: Documentation/mm: update hugetlbfs documentation to mention alloc_hugetlb_folio
Date: Thu, 19 Jan 2023 13:14:46 -0800
alloc_huge_page() has been renamed to alloc_hugetlb_folio() so update the
documentation which mentions alloc_huge_page(). Subpool information has
been moved from page->private to having a dedicated field in struct folio,
reflect this in the documentation.
Link: https://lkml.kernel.org/r/20230119211446.54165-10-sidhartha.kumar@oracle.com
Signed-off-by: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Muchun Song <songmuchun@bytedance.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
--- a/Documentation/mm/hugetlbfs_reserv.rst~documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio
+++ a/Documentation/mm/hugetlbfs_reserv.rst
@@ -181,14 +181,14 @@ Consuming Reservations/Allocating a Huge
Reservations are consumed when huge pages associated with the reservations
are allocated and instantiated in the corresponding mapping. The allocation
-is performed within the routine alloc_huge_page()::
+is performed within the routine alloc_hugetlb_folio()::
- struct page *alloc_huge_page(struct vm_area_struct *vma,
+ struct folio *alloc_hugetlb_folio(struct vm_area_struct *vma,
unsigned long addr, int avoid_reserve)
-alloc_huge_page is passed a VMA pointer and a virtual address, so it can
+alloc_hugetlb_folio is passed a VMA pointer and a virtual address, so it can
consult the reservation map to determine if a reservation exists. In addition,
-alloc_huge_page takes the argument avoid_reserve which indicates reserves
+alloc_hugetlb_folio takes the argument avoid_reserve which indicates reserves
should not be used even if it appears they have been set aside for the
specified address. The avoid_reserve argument is most often used in the case
of Copy on Write and Page Migration where additional copies of an existing
@@ -208,7 +208,8 @@ a reservation for the allocation. After
exists and can be used for the allocation, the routine dequeue_huge_page_vma()
is called. This routine takes two arguments related to reservations:
-- avoid_reserve, this is the same value/argument passed to alloc_huge_page()
+- avoid_reserve, this is the same value/argument passed to
+ alloc_hugetlb_folio().
- chg, even though this argument is of type long only the values 0 or 1 are
passed to dequeue_huge_page_vma. If the value is 0, it indicates a
reservation exists (see the section "Memory Policy and Reservations" for
@@ -233,9 +234,9 @@ the scope reservations. Even if a surpl
reservation based adjustments as above will be made: SetPagePrivate(page) and
resv_huge_pages--.
-After obtaining a new huge page, (page)->private is set to the value of
-the subpool associated with the page if it exists. This will be used for
-subpool accounting when the page is freed.
+After obtaining a new hugetlb folio, (folio)->_hugetlb_subpool is set to the
+value of the subpool associated with the page if it exists. This will be used
+for subpool accounting when the folio is freed.
The routine vma_commit_reservation() is then called to adjust the reserve
map based on the consumption of the reservation. In general, this involves
@@ -246,8 +247,8 @@ was no reservation in a shared mapping o
entry must be created.
It is possible that the reserve map could have been changed between the call
-to vma_needs_reservation() at the beginning of alloc_huge_page() and the
-call to vma_commit_reservation() after the page was allocated. This would
+to vma_needs_reservation() at the beginning of alloc_hugetlb_folio() and the
+call to vma_commit_reservation() after the folio was allocated. This would
be possible if hugetlb_reserve_pages was called for the same page in a shared
mapping. In such cases, the reservation count and subpool free page count
will be off by one. This rare condition can be identified by comparing the
--- a/Documentation/translations/zh_CN/mm/hugetlbfs_reserv.rst~documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio
+++ a/Documentation/translations/zh_CN/mm/hugetlbfs_reserv.rst
@@ -142,14 +142,14 @@ å¨'from'-'to'èå´å
åå¨é¢çã
æ¶èé¢ç/åé
ä¸ä¸ªå·¨é¡µ
===========================
-å½ä¸é¢çç¸å
³ç巨页å¨ç¸åºçæ å°ä¸è¢«åé
åå®ä¾åæ¶ï¼é¢ç就被æ¶èäºã该åé
æ¯å¨å½æ°alloc_huge_page()
+å½ä¸é¢çç¸å
³ç巨页å¨ç¸åºçæ å°ä¸è¢«åé
åå®ä¾åæ¶ï¼é¢ç就被æ¶èäºã该åé
æ¯å¨å½æ°alloc_hugetlb_folio()
ä¸è¿è¡ç::
- struct page *alloc_huge_page(struct vm_area_struct *vma,
+ struct folio *alloc_hugetlb_folio(struct vm_area_struct *vma,
unsigned long addr, int avoid_reserve)
-alloc_huge_pageè¢«ä¼ éç»ä¸ä¸ªVMAæéåä¸ä¸ªèæå°åï¼å æ¤å®å¯ä»¥æ¥é
é¢çæ å°ä»¥ç¡®å®æ¯å¦åå¨é¢çã
-æ¤å¤ï¼alloc_huge_pageéè¦ä¸ä¸ªåæ°avoid_reserveï¼è¯¥åæ°è¡¨ç¤ºå³ä½¿çèµ·æ¥å·²ç»ä¸ºæå®çå°åé¢çäº
+alloc_hugetlb_folioè¢«ä¼ éç»ä¸ä¸ªVMAæéåä¸ä¸ªèæå°åï¼å æ¤å®å¯ä»¥æ¥é
é¢çæ å°ä»¥ç¡®å®æ¯å¦åå¨é¢çã
+æ¤å¤ï¼alloc_hugetlb_folioéè¦ä¸ä¸ªåæ°avoid_reserveï¼è¯¥åæ°è¡¨ç¤ºå³ä½¿çèµ·æ¥å·²ç»ä¸ºæå®çå°åé¢çäº
é¢çï¼ä¹ä¸åºè¯¥ä½¿ç¨é¢çãavoid_reserveåæ°æ常被ç¨äºåæ¶æ·è´å页é¢è¿ç§»çæ
åµä¸ï¼å³ç°æ页é¢çé¢
å¤æ·è´è¢«åé
ã
@@ -162,7 +162,7 @@ åå¯å°å
¶ä¸ä¸ä¸ªç¨äºè¯¥åé
ãç
ç¡®å®é¢çæ¯å¦åå¨å¹¶å¯ç¨äºåé
åï¼è°ç¨dequeue_huge_page_vma()å½æ°ãè¿ä¸ªå½æ°éè¦ä¸¤ä¸ªä¸é¢çæå
³
çåæ°ï¼
-- avoid_reserveï¼è¿æ¯ä¼ éç»alloc_huge_page()çåä¸ä¸ªå¼/åæ°ã
+- avoid_reserveï¼è¿æ¯ä¼ éç»alloc_hugetlb_folio()çåä¸ä¸ªå¼/åæ°ã
- chgï¼å°½ç®¡è¿ä¸ªåæ°çç±»åæ¯longï¼ä½åªæ0æ1çå¼è¢«ä¼ éç»dequeue_huge_page_vmaãå¦æ该å¼ä¸º0ï¼
å表æåå¨é¢çï¼å
³äºå¯è½çé®é¢ï¼è¯·åè§ âé¢çåå
åçç¥â ä¸èï¼ãå¦æå¼
为1ï¼å表示ä¸åå¨é¢çï¼å¦æå¯è½çè¯ï¼å¿
é¡»ä»å
¨å±ç©ºé²æ± ä¸ååºè¯¥é¡µã
@@ -179,7 +179,7 @@ 注æï¼å¦ææ¾ä¸å°æ»¡è¶³VMAå
åç
çå©ä½å·¨é¡µåè¶
é¢åé
çé®é¢ãå³ä½¿åé
äºä¸ä¸ªå¤ä½ç页é¢ï¼ä¹ä¼è¿è¡ä¸ä¸é¢ä¸æ ·çåºäºé¢ççè°æ´:
SetPagePrivate(page) å resv_huge_pages--.
-å¨è·å¾ä¸ä¸ªæ°ç巨页åï¼(page)->private被设置为ä¸è¯¥é¡µé¢ç¸å
³çåæ± çå¼ï¼å¦æå®åå¨çè¯ãå½é¡µ
+å¨è·å¾ä¸ä¸ªæ°ç巨页åï¼(folio)->_hugetlb_subpool被设置为ä¸è¯¥é¡µé¢ç¸å
³çåæ± çå¼ï¼å¦æå®åå¨çè¯ãå½é¡µ
é¢è¢«éæ¾æ¶ï¼è¿å°è¢«ç¨äºåæ± ç计æ°ã
ç¶åè°ç¨å½æ°vma_commit_reservation()ï¼æ ¹æ®é¢ççæ¶èæ
åµè°æ´é¢çæ å°ãä¸è¬æ¥è¯´ï¼è¿æ¶å
@@ -199,7 +199,7 @@ å°ç¡®ä¿é¡µé¢å¨åºåæ å°çfile_re
å·²ç»åå¨ï¼æ以ä¸åä»»ä½æ¹åãç¶èï¼å¦æå
±äº«æ å°ä¸æ²¡æé¢çï¼æè
è¿æ¯ä¸ä¸ªç§ææ å°ï¼åå¿
é¡»å建
ä¸ä¸ªæ°çæ¡ç®ã
-å¨alloc_huge_page()å¼å§è°ç¨vma_needs_reservation()å页é¢åé
åè°ç¨
+å¨alloc_hugetlb_folio()å¼å§è°ç¨vma_needs_reservation()å页é¢åé
åè°ç¨
vma_commit_reservation()ä¹é´ï¼é¢çæ å°æå¯è½è¢«æ¹åãå¦æhugetlb_reserve_pageså¨å
±
享æ å°ä¸ä¸ºåä¸é¡µé¢è¢«è°ç¨ï¼è¿å°æ¯å¯è½çãå¨è¿ç§æ
åµä¸ï¼é¢ç计æ°ååæ± ç©ºé²é¡µè®¡æ°ä¼æä¸ä¸ªåå·®ã
è¿ç§ç½è§çæ
åµå¯ä»¥éè¿æ¯è¾vma_needs_reservationåvma_commit_reservationçè¿åå¼æ¥
_
Patches currently in -mm which might be from sidhartha.kumar@oracle.com are
mm-remove-the-hugetlb-field-from-struct-page.patch
mm-memory-failure-convert-__get_huge_page_for_hwpoison-to-folios.patch
mm-memory-failure-convert-try_memory_failure_hugetlb-to-folios.patch
mm-memory-failure-convert-hugetlb_clear_page_hwpoison-to-folios.patch
mm-memory-failure-convert-free_raw_hwp_pages-to-folios.patch
mm-memory-failure-convert-raw_hwp_list_head-to-folios.patch
mm-memory-failure-convert-__free_raw_hwp_pages-to-folios.patch
mm-memory-failure-convert-hugetlb_set_page_hwpoison-to-folios.patch
mm-memory-failure-convert-unpoison_memory-to-folios.patch
mm-hugetlb-convert-isolate_hugetlb-to-folios.patch
mm-hugetlb-convert-__update_and_free_page-to-folios.patch
mm-hugetlb-convert-dequeue_hugetlb_page-functions-to-folios.patch
mm-hugetlb-convert-alloc_surplus_huge_page-to-folios.patch
mm-hugetlb-increase-use-of-folios-in-alloc_huge_page.patch
mm-hugetlb-convert-alloc_migrate_huge_page-to-folios.patch
mm-hugetlb-convert-restore_reserve_on_error-to-folios.patch
mm-hugetlb-convert-demote_free_huge_page-to-folios.patch
mm-hugetlb-convert-get_hwpoison_huge_page-to-folios.patch
mm-hugetlb-convert-hugetlb_install_page-to-folios.patch
mm-hugetlb-convert-hugetlbfs_pagecache_present-to-folios.patch
mm-hugetlb-convert-putback_active_hugepage-to-take-in-a-folio.patch
mm-rmap-change-hugepage_add_new_anon_rmap-to-take-in-a-folio.patch
mm-hugetlb-convert-alloc_huge_page-to-alloc_hugetlb_folio.patch
mm-hugetlb-convert-restore_reserve_on_error-to-take-in-a-folio.patch
mm-hugetlb-convert-hugetlb_add_to_page_cache-to-take-in-a-folio.patch
mm-hugetlb-convert-hugetlb_wp-to-take-in-a-folio.patch
documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio.patch
^ permalink raw reply [flat|nested] 2+ messages in thread
* + documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio.patch added to mm-unstable branch
@ 2023-01-26 0:48 Andrew Morton
0 siblings, 0 replies; 2+ messages in thread
From: Andrew Morton @ 2023-01-26 0:48 UTC (permalink / raw)
To: mm-commits, willy, songmuchun, mike.kravetz, lkp, jhubbard,
gerald.schaefer, sidhartha.kumar, akpm
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 10420 bytes --]
The patch titled
Subject: Documentation/mm: update hugetlbfs documentation to mention alloc_hugetlb_folio
has been added to the -mm mm-unstable branch. Its filename is
documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio.patch
This patch will shortly appear at
https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio.patch
This patch will later appear in the mm-unstable branch at
git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Before you just go and hit "reply", please:
a) Consider who else should be cc'ed
b) Prefer to cc a suitable mailing list as well
c) Ideally: find the original patch on the mailing list and do a
reply-to-all to that, adding suitable additional cc's
*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***
The -mm tree is included into linux-next via the mm-everything
branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
and is updated there every 2-3 working days
------------------------------------------------------
From: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Subject: Documentation/mm: update hugetlbfs documentation to mention alloc_hugetlb_folio
Date: Wed, 25 Jan 2023 09:05:37 -0800
Link: https://lkml.kernel.org/r/20230125170537.96973-9-sidhartha.kumar@oracle.com
Signed-off-by: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: kernel test robot <lkp@intel.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Muchun Song <songmuchun@bytedance.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
--- a/Documentation/mm/hugetlbfs_reserv.rst~documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio
+++ a/Documentation/mm/hugetlbfs_reserv.rst
@@ -181,14 +181,14 @@ Consuming Reservations/Allocating a Huge
Reservations are consumed when huge pages associated with the reservations
are allocated and instantiated in the corresponding mapping. The allocation
-is performed within the routine alloc_huge_page()::
+is performed within the routine alloc_hugetlb_folio()::
- struct page *alloc_huge_page(struct vm_area_struct *vma,
+ struct folio *alloc_hugetlb_folio(struct vm_area_struct *vma,
unsigned long addr, int avoid_reserve)
-alloc_huge_page is passed a VMA pointer and a virtual address, so it can
+alloc_hugetlb_folio is passed a VMA pointer and a virtual address, so it can
consult the reservation map to determine if a reservation exists. In addition,
-alloc_huge_page takes the argument avoid_reserve which indicates reserves
+alloc_hugetlb_folio takes the argument avoid_reserve which indicates reserves
should not be used even if it appears they have been set aside for the
specified address. The avoid_reserve argument is most often used in the case
of Copy on Write and Page Migration where additional copies of an existing
@@ -208,7 +208,8 @@ a reservation for the allocation. After
exists and can be used for the allocation, the routine dequeue_huge_page_vma()
is called. This routine takes two arguments related to reservations:
-- avoid_reserve, this is the same value/argument passed to alloc_huge_page()
+- avoid_reserve, this is the same value/argument passed to
+ alloc_hugetlb_folio().
- chg, even though this argument is of type long only the values 0 or 1 are
passed to dequeue_huge_page_vma. If the value is 0, it indicates a
reservation exists (see the section "Memory Policy and Reservations" for
@@ -233,9 +234,9 @@ the scope reservations. Even if a surpl
reservation based adjustments as above will be made: SetPagePrivate(page) and
resv_huge_pages--.
-After obtaining a new huge page, (page)->private is set to the value of
-the subpool associated with the page if it exists. This will be used for
-subpool accounting when the page is freed.
+After obtaining a new hugetlb folio, (folio)->_hugetlb_subpool is set to the
+value of the subpool associated with the page if it exists. This will be used
+for subpool accounting when the folio is freed.
The routine vma_commit_reservation() is then called to adjust the reserve
map based on the consumption of the reservation. In general, this involves
@@ -246,8 +247,8 @@ was no reservation in a shared mapping o
entry must be created.
It is possible that the reserve map could have been changed between the call
-to vma_needs_reservation() at the beginning of alloc_huge_page() and the
-call to vma_commit_reservation() after the page was allocated. This would
+to vma_needs_reservation() at the beginning of alloc_hugetlb_folio() and the
+call to vma_commit_reservation() after the folio was allocated. This would
be possible if hugetlb_reserve_pages was called for the same page in a shared
mapping. In such cases, the reservation count and subpool free page count
will be off by one. This rare condition can be identified by comparing the
--- a/Documentation/translations/zh_CN/mm/hugetlbfs_reserv.rst~documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio
+++ a/Documentation/translations/zh_CN/mm/hugetlbfs_reserv.rst
@@ -142,14 +142,14 @@ å¨'from'-'to'èå´å
åå¨é¢çã
æ¶èé¢ç/åé
ä¸ä¸ªå·¨é¡µ
===========================
-å½ä¸é¢çç¸å
³ç巨页å¨ç¸åºçæ å°ä¸è¢«åé
åå®ä¾åæ¶ï¼é¢ç就被æ¶èäºã该åé
æ¯å¨å½æ°alloc_huge_page()
+å½ä¸é¢çç¸å
³ç巨页å¨ç¸åºçæ å°ä¸è¢«åé
åå®ä¾åæ¶ï¼é¢ç就被æ¶èäºã该åé
æ¯å¨å½æ°alloc_hugetlb_folio()
ä¸è¿è¡ç::
- struct page *alloc_huge_page(struct vm_area_struct *vma,
+ struct folio *alloc_hugetlb_folio(struct vm_area_struct *vma,
unsigned long addr, int avoid_reserve)
-alloc_huge_pageè¢«ä¼ éç»ä¸ä¸ªVMAæéåä¸ä¸ªèæå°åï¼å æ¤å®å¯ä»¥æ¥é
é¢çæ å°ä»¥ç¡®å®æ¯å¦åå¨é¢çã
-æ¤å¤ï¼alloc_huge_pageéè¦ä¸ä¸ªåæ°avoid_reserveï¼è¯¥åæ°è¡¨ç¤ºå³ä½¿çèµ·æ¥å·²ç»ä¸ºæå®çå°åé¢çäº
+alloc_hugetlb_folioè¢«ä¼ éç»ä¸ä¸ªVMAæéåä¸ä¸ªèæå°åï¼å æ¤å®å¯ä»¥æ¥é
é¢çæ å°ä»¥ç¡®å®æ¯å¦åå¨é¢çã
+æ¤å¤ï¼alloc_hugetlb_folioéè¦ä¸ä¸ªåæ°avoid_reserveï¼è¯¥åæ°è¡¨ç¤ºå³ä½¿çèµ·æ¥å·²ç»ä¸ºæå®çå°åé¢çäº
é¢çï¼ä¹ä¸åºè¯¥ä½¿ç¨é¢çãavoid_reserveåæ°æ常被ç¨äºåæ¶æ·è´å页é¢è¿ç§»çæ
åµä¸ï¼å³ç°æ页é¢çé¢
å¤æ·è´è¢«åé
ã
@@ -162,7 +162,7 @@ åå¯å°å
¶ä¸ä¸ä¸ªç¨äºè¯¥åé
ãç
ç¡®å®é¢çæ¯å¦åå¨å¹¶å¯ç¨äºåé
åï¼è°ç¨dequeue_huge_page_vma()å½æ°ãè¿ä¸ªå½æ°éè¦ä¸¤ä¸ªä¸é¢çæå
³
çåæ°ï¼
-- avoid_reserveï¼è¿æ¯ä¼ éç»alloc_huge_page()çåä¸ä¸ªå¼/åæ°ã
+- avoid_reserveï¼è¿æ¯ä¼ éç»alloc_hugetlb_folio()çåä¸ä¸ªå¼/åæ°ã
- chgï¼å°½ç®¡è¿ä¸ªåæ°çç±»åæ¯longï¼ä½åªæ0æ1çå¼è¢«ä¼ éç»dequeue_huge_page_vmaãå¦æ该å¼ä¸º0ï¼
å表æåå¨é¢çï¼å
³äºå¯è½çé®é¢ï¼è¯·åè§ âé¢çåå
åçç¥â ä¸èï¼ãå¦æå¼
为1ï¼å表示ä¸åå¨é¢çï¼å¦æå¯è½çè¯ï¼å¿
é¡»ä»å
¨å±ç©ºé²æ± ä¸ååºè¯¥é¡µã
@@ -179,7 +179,7 @@ 注æï¼å¦ææ¾ä¸å°æ»¡è¶³VMAå
åç
çå©ä½å·¨é¡µåè¶
é¢åé
çé®é¢ãå³ä½¿åé
äºä¸ä¸ªå¤ä½ç页é¢ï¼ä¹ä¼è¿è¡ä¸ä¸é¢ä¸æ ·çåºäºé¢ççè°æ´:
SetPagePrivate(page) å resv_huge_pages--.
-å¨è·å¾ä¸ä¸ªæ°ç巨页åï¼(page)->private被设置为ä¸è¯¥é¡µé¢ç¸å
³çåæ± çå¼ï¼å¦æå®åå¨çè¯ãå½é¡µ
+å¨è·å¾ä¸ä¸ªæ°ç巨页åï¼(folio)->_hugetlb_subpool被设置为ä¸è¯¥é¡µé¢ç¸å
³çåæ± çå¼ï¼å¦æå®åå¨çè¯ãå½é¡µ
é¢è¢«éæ¾æ¶ï¼è¿å°è¢«ç¨äºåæ± ç计æ°ã
ç¶åè°ç¨å½æ°vma_commit_reservation()ï¼æ ¹æ®é¢ççæ¶èæ
åµè°æ´é¢çæ å°ãä¸è¬æ¥è¯´ï¼è¿æ¶å
@@ -199,7 +199,7 @@ å°ç¡®ä¿é¡µé¢å¨åºåæ å°çfile_re
å·²ç»åå¨ï¼æ以ä¸åä»»ä½æ¹åãç¶èï¼å¦æå
±äº«æ å°ä¸æ²¡æé¢çï¼æè
è¿æ¯ä¸ä¸ªç§ææ å°ï¼åå¿
é¡»å建
ä¸ä¸ªæ°çæ¡ç®ã
-å¨alloc_huge_page()å¼å§è°ç¨vma_needs_reservation()å页é¢åé
åè°ç¨
+å¨alloc_hugetlb_folio()å¼å§è°ç¨vma_needs_reservation()å页é¢åé
åè°ç¨
vma_commit_reservation()ä¹é´ï¼é¢çæ å°æå¯è½è¢«æ¹åãå¦æhugetlb_reserve_pageså¨å
±
享æ å°ä¸ä¸ºåä¸é¡µé¢è¢«è°ç¨ï¼è¿å°æ¯å¯è½çãå¨è¿ç§æ
åµä¸ï¼é¢ç计æ°ååæ± ç©ºé²é¡µè®¡æ°ä¼æä¸ä¸ªåå·®ã
è¿ç§ç½è§çæ
åµå¯ä»¥éè¿æ¯è¾vma_needs_reservationåvma_commit_reservationçè¿åå¼æ¥
_
Patches currently in -mm which might be from sidhartha.kumar@oracle.com are
mm-remove-the-hugetlb-field-from-struct-page.patch
mm-memory-failure-convert-__get_huge_page_for_hwpoison-to-folios.patch
mm-memory-failure-convert-try_memory_failure_hugetlb-to-folios.patch
mm-memory-failure-convert-hugetlb_clear_page_hwpoison-to-folios.patch
mm-memory-failure-convert-free_raw_hwp_pages-to-folios.patch
mm-memory-failure-convert-raw_hwp_list_head-to-folios.patch
mm-memory-failure-convert-__free_raw_hwp_pages-to-folios.patch
mm-memory-failure-convert-hugetlb_set_page_hwpoison-to-folios.patch
mm-memory-failure-convert-unpoison_memory-to-folios.patch
mm-hugetlb-convert-isolate_hugetlb-to-folios.patch
mm-hugetlb-convert-__update_and_free_page-to-folios.patch
mm-hugetlb-convert-dequeue_hugetlb_page-functions-to-folios.patch
mm-hugetlb-convert-alloc_surplus_huge_page-to-folios.patch
mm-hugetlb-increase-use-of-folios-in-alloc_huge_page.patch
mm-hugetlb-convert-alloc_migrate_huge_page-to-folios.patch
mm-hugetlb-convert-restore_reserve_on_error-to-folios.patch
mm-hugetlb-convert-demote_free_huge_page-to-folios.patch
mm-hugetlb-convert-get_hwpoison_huge_page-to-folios.patch
mm-hugetlb-convert-hugetlb_install_page-to-folios.patch
mm-hugetlb-convert-hugetlbfs_pagecache_present-to-folios.patch
mm-hugetlb-convert-putback_active_hugepage-to-take-in-a-folio.patch
mm-hugetlb-convert-hugetlb-fault-paths-to-use-alloc_hugetlb_folio.patch
mm-hugetlb-convert-restore_reserve_on_error-to-take-in-a-folio.patch
mm-hugetlb-convert-hugetlb_add_to_page_cache-to-take-in-a-folio.patch
mm-hugetlb-convert-hugetlb_wp-to-take-in-a-folio.patch
documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio.patch
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-01-26 0:48 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-19 22:32 + documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio.patch added to mm-unstable branch Andrew Morton
2023-01-26 0:48 Andrew Morton
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.