On Thu, Jan 14, 2021 at 11:38 PM Michal Hocko wrote:
>
> On Thu 14-01-21 21:47:36, Muchun Song wrote:
> > On Thu, Jan 14, 2021 at 9:20 PM Michal Hocko wrote:
> [...]
> > > > @@ -1770,6 +1789,28 @@ int dissolve_free_huge_page(struct page *page)
> > > > int nid = page_to_nid(head);
>
On Thu 14-01-21 21:47:36, Muchun Song wrote:
> On Thu, Jan 14, 2021 at 9:20 PM Michal Hocko wrote:
[...]
> > > @@ -1770,6 +1789,28 @@ int dissolve_free_huge_page(struct page *page)
> > > int nid = page_to_nid(head);
> > > if (h->free_huge_pages - h->resv_huge_pages == 0
On Thu, Jan 14, 2021 at 9:20 PM Michal Hocko wrote:
>
> On Thu 14-01-21 18:35:13, Muchun Song wrote:
> > There is a race condition between __free_huge_page()
> > and dissolve_free_huge_page().
> >
> > CPU0: CPU1:
> >
> > // page_count(page) == 1
> > put_page(page)
> > __f
On Thu 14-01-21 18:35:13, Muchun Song wrote:
> There is a race condition between __free_huge_page()
> and dissolve_free_huge_page().
>
> CPU0: CPU1:
>
> // page_count(page) == 1
> put_page(page)
> __free_huge_page(page)
> dissolve_free_huge_
There is a race condition between __free_huge_page()
and dissolve_free_huge_page().
CPU0: CPU1:
// page_count(page) == 1
put_page(page)
__free_huge_page(page)
dissolve_free_huge_page(page)
spin_lock(&hugetlb_l
5 matches
Mail list logo