* [merged mm-stable] documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio.patch removed from -mm tree
@ 2023-02-13 23:55 Andrew Morton
0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2023-02-13 23:55 UTC (permalink / raw)
To: mm-commits, willy, songmuchun, mike.kravetz, jhubbard,
gerald.schaefer, sidhartha.kumar, akpm
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 8026 bytes --]
The quilt patch titled
Subject: Documentation/mm: update hugetlbfs documentation to mention alloc_hugetlb_folio
has been removed from the -mm tree. Its filename was
documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio.patch
This patch was dropped because it was merged into the mm-stable branch
of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
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: 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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-02-13 23:55 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-13 23:55 [merged mm-stable] documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio.patch removed from -mm tree 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.