[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20160921123035.02ac4a2a@thinkpad>
Date: Wed, 21 Sep 2016 12:30:35 +0200
From: Gerald Schaefer <gerald.schaefer@...ibm.com>
To: Mike Kravetz <mike.kravetz@...cle.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Naoya Horiguchi <n-horiguchi@...jp.nec.com>,
linux-mm@...ck.org, linux-kernel@...r.kernel.org,
Michal Hocko <mhocko@...e.cz>,
"Kirill A . Shutemov" <kirill.shutemov@...ux.intel.com>,
Vlastimil Babka <vbabka@...e.cz>,
"Aneesh Kumar K . V" <aneesh.kumar@...ux.vnet.ibm.com>,
Martin Schwidefsky <schwidefsky@...ibm.com>,
Heiko Carstens <heiko.carstens@...ibm.com>,
Rui Teng <rui.teng@...ux.vnet.ibm.com>,
Dave Hansen <dave.hansen@...ux.intel.com>
Subject: Re: [PATCH 0/1] memory offline issues with hugepage size > memory
block size
On Tue, 20 Sep 2016 10:37:04 -0700
Mike Kravetz <mike.kravetz@...cle.com> wrote:
>
> Cc'ed Rui Teng and Dave Hansen as they were discussing the issue in
> this thread:
> https://lkml.org/lkml/2016/9/13/146
Ah, thanks, I didn't see that.
>
> Their approach (I believe) would be to fail the offline operation in
> this case. However, I could argue that failing the operation, or
> dissolving the unused huge page containing the area to be offlined is
> the right thing to do.
>
> I never thought too much about the VM_BUG_ON(), but you are correct in
> that it should be removed in either case.
>
> The other thing that needs to be changed is the locking in
> dissolve_free_huge_page(). I believe the lock only needs to be held if
> we are removing the huge page from the pool. It is not a correctness
> but performance issue.
>
Yes, that looks odd, that's why in my patch I moved the PageHuge() check
out from dissolve_free_huge_page(), up into the loop in
dissolve_free_huge_pages(). This way dissolve_free_huge_page() with its
locking should only be called once per memory block, in the case where
this memory block is part of a gigantic hugepage.
Powered by blists - more mailing lists