On 08/19/22 18:12, Baolin Wang wrote:
Hi,
On ARM64 architecture, it can support CONT-PTE/PMD size hugetlb. When
looking up hugetlb page by follow_page(), we will hold the incorrect
pte/pmd lock for the CONT-PTE/PMD size hugetlb page, which will make
the pte/pmd entry unstable even under the lock and cause some potential
race issues. So considering the CONT-PTE/PMD size hugetlb, this patch set
changes to use the correct function to get the correct pte/pmd entry lock
to make the pte/pmd entry stable.
Thank you for looking at this.
I often get confused by arm64 CONT-PTE/PMD layout, so my understanding may be
wrong. Can we use the PMD page lock for locking both CONT-PTE and CONT-PMD
entries? Again, I may be confused by the CONT-* page table layout, but it
seems these would all be referenced via that same PMD page of the page table.
Or, perhaps CONT-PMD can span multiple PMD pages?
If we can use PMD page for locking, this would be much finer grain that
lock in the mm.