Thread (27 messages) 27 messages, 4 authors, 2021-03-07

Re: [External] Re: [PATCH v17 5/9] mm: hugetlb: set the PageHWPoison to the raw error page

From: Muchun Song <hidden>
Date: 2021-03-07 08:40:32
Also in: linux-fsdevel, linux-mm, lkml

On Sun, Mar 7, 2021 at 4:19 PM Balbir Singh [off-list ref] wrote:
On Thu, Feb 25, 2021 at 09:21:26PM +0800, Muchun Song wrote:
quoted
Because we reuse the first tail vmemmap page frame and remap it
with read-only, we cannot set the PageHWPosion on some tail pages.
So we can use the head[4].private (There are at least 128 struct
page structures associated with the optimized HugeTLB page, so
using head[4].private is safe) to record the real error page index
and set the raw error page PageHWPoison later.
Does the hardcoding of 4 come from HUGETLB_CGROUP_MIN_ORDER, if so
Yes.
do we need to hardcode 4? Also, I am not sure about the comment
on safety and 128 struct pages
We can set head[4].private only if free_vmemmap_pages_per_hpage(h)
returns true. In this case, there are 128 struct page structures (we reserve
2 pages as vmemmap pages, so 2 * 4KB / sizeof(struct page) == 128) that
can be used. Instead of hardcode, I introduce another patch to make the
code more readable. Please refer to patch #8 in this series.

Thanks.
Balbir
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help