Thread (14 messages) flat view 14 messages, 5 authors, 2021-02-04

Re: [PATCH 0/4] mm/hugetlb: Early cow on fork, and a few cleanups

From: Gal Pressman <hidden>
Date: 2021-02-04 14:37:54
Also in: lkml

On 03/02/2021 23:08, Peter Xu wrote:
As reported by Gal [1], we still miss the code clip to handle early cow for

hugetlb case, which is true.  Again, it still feels odd to fork() after using a

few huge pages, especially if they're privately mapped to me..  However I do

agree with Gal and Jason in that we should still have that since that'll

complete the early cow on fork effort at least, and it'll still fix issues

where buffers are not well under control and not easy to apply MADV_DONTFORK.



The first two patches (1-2) are some cleanups I noticed when reading into the

hugetlb reserve map code.  I think it's good to have but they're not necessary

for fixing the fork issue.



The last two patches (3-4) is the real fix.



I tested this with a fork() after some vfio-pci assignment, so I'm pretty sure

the page copy path could trigger well (page will be accounted right after the

fork()), but I didn't do data check since the card I assigned is some random

nic.  Gal, please feel free to try this if you have better way to verify the

series.
Thanks Peter, once v2 is submitted I'll pull the patches and we'll run the tests
that discovered the issue to verify it works.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help