From: Andrew Morton <akpm@linux-foundation.org>
To: mm-commits@vger.kernel.org, willy@infradead.org,
songmuchun@bytedance.com, mike.kravetz@oracle.com,
jhubbard@nvidia.com, gerald.schaefer@linux.ibm.com,
sidhartha.kumar@oracle.com, akpm@linux-foundation.org
Subject: [merged mm-stable] documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio.patch removed from -mm tree
Date: Mon, 13 Feb 2023 15:55:26 -0800 [thread overview]
Message-ID: <20230213235527.05A72C4339B@smtp.kernel.org> (raw)
[-- 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
reply other threads:[~2023-02-13 23:55 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230213235527.05A72C4339B@smtp.kernel.org \
--to=akpm@linux-foundation.org \
--cc=gerald.schaefer@linux.ibm.com \
--cc=jhubbard@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mike.kravetz@oracle.com \
--cc=mm-commits@vger.kernel.org \
--cc=sidhartha.kumar@oracle.com \
--cc=songmuchun@bytedance.com \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.