Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1487455

[PATCH 0/1] memory offline issues with hugepage size > memory block size

From Gerald Schaefer <gerald.schaefer@de.ibm.com>
Newsgroups linux.kernel
Subject [PATCH 0/1] memory offline issues with hugepage size > memory block size
Date 2016-09-20 18:00 +0200
Message-ID <sjvCF-4Ws-1@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


dissolve_free_huge_pages() will either run into the VM_BUG_ON() or a
list corruption and addressing exception when trying to set a memory
block offline that is part (but not the first part) of a gigantic
hugetlb page with a size > memory block size.

When no other smaller hugepage sizes are present, the VM_BUG_ON() will
trigger directly. In the other case we will run into an addressing
exception later, because dissolve_free_huge_page() will not use the head
page of the compound hugetlb page which will result in a NULL hstate
from page_hstate(). list_del() would also not work well on a tail page.

To fix this, first remove the VM_BUG_ON() because it is wrong, and then
use the compound head page in dissolve_free_huge_page().

However, this all assumes that it is the desired behaviour to remove
a (gigantic) unused hugetlb page from the pool, just because a small
(in relation to the  hugepage size) memory block is going offline. Not
sure if this is the right thing, and it doesn't look very consistent
given that in this scenario it is _not_ possible to migrate
such a (gigantic) hugepage if it is in use. OTOH, has_unmovable_pages()
will return false in both cases, i.e. the memory block will be reported
as removable, no matter if the hugepage that it is part of is unused or
in use.

This patch is assuming that it would be OK to remove the hugepage,
i.e. memory offline beats pre-allocated unused (gigantic) hugepages.

Any thoughts?


Gerald Schaefer (1):
  mm/hugetlb: fix memory offline with hugepage size > memory block size

 mm/hugetlb.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

-- 
2.8.4

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH 0/1] memory offline issues with hugepage size > memory block size Gerald Schaefer <gerald.schaefer@de.ibm.com> - 2016-09-20 18:00 +0200
  [PATCH 1/1] mm/hugetlb: fix memory offline with hugepage size > memory block size Gerald Schaefer <gerald.schaefer@de.ibm.com> - 2016-09-20 18:00 +0200
    Re: [PATCH 1/1] mm/hugetlb: fix memory offline with hugepage size > memory block size "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2016-09-21 08:40 +0200
      [PATCH v2 1/1] mm/hugetlb: fix memory offline with hugepage size >  memory block size Gerald Schaefer <gerald.schaefer@de.ibm.com> - 2016-09-21 14:40 +0200
        Re: [PATCH v2 1/1] mm/hugetlb: fix memory offline with hugepage size  > memory block size Rui Teng <rui.teng@linux.vnet.ibm.com> - 2016-09-21 15:20 +0200
          Re: [PATCH v2 1/1] mm/hugetlb: fix memory offline with hugepage  size > memory block size Gerald Schaefer <gerald.schaefer@de.ibm.com> - 2016-09-21 17:20 +0200
        Re: [PATCH v2 1/1] mm/hugetlb: fix memory offline with hugepage size > memory block size "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2016-09-22 10:10 +0200
        Re: [PATCH v2 1/1] mm/hugetlb: fix memory offline with hugepage size  > memory block size Michal Hocko <mhocko@kernel.org> - 2016-09-22 12:00 +0200
          Re: [PATCH v2 1/1] mm/hugetlb: fix memory offline with hugepage  size > memory block size Gerald Schaefer <gerald.schaefer@de.ibm.com> - 2016-09-22 15:50 +0200
            [PATCH v3] mm/hugetlb: fix memory offline with hugepage size >  memory block size Gerald Schaefer <gerald.schaefer@de.ibm.com> - 2016-09-22 18:40 +0200
              Re: [PATCH v3] mm/hugetlb: fix memory offline with hugepage size >  memory block size Dave Hansen <dave.hansen@linux.intel.com> - 2016-09-22 20:20 +0200
                Re: [PATCH v3] mm/hugetlb: fix memory offline with hugepage size >  memory block size Mike Kravetz <mike.kravetz@oracle.com> - 2016-09-22 21:20 +0200
                Re: [PATCH v3] mm/hugetlb: fix memory offline with hugepage size >  memory block size Gerald Schaefer <gerald.schaefer@de.ibm.com> - 2016-09-23 12:40 +0200
          Re: [PATCH v2 1/1] mm/hugetlb: fix memory offline with hugepage size  > memory block size Rui Teng <rui.teng@linux.vnet.ibm.com> - 2016-09-23 08:50 +0200
            Re: [PATCH v2 1/1] mm/hugetlb: fix memory offline with hugepage  size > memory block size Gerald Schaefer <gerald.schaefer@de.ibm.com> - 2016-09-23 13:10 +0200
  Re: [PATCH 0/1] memory offline issues with hugepage size > memory  block size Mike Kravetz <mike.kravetz@oracle.com> - 2016-09-20 19:40 +0200
    Re: [PATCH 0/1] memory offline issues with hugepage size > memory  block size Dave Hansen <dave.hansen@linux.intel.com> - 2016-09-20 19:50 +0200
      Re: [PATCH 0/1] memory offline issues with hugepage size > memory  block size Vlastimil Babka <vbabka@suse.cz> - 2016-09-21 11:50 +0200
      Re: [PATCH 0/1] memory offline issues with hugepage size > memory  block size Gerald Schaefer <gerald.schaefer@de.ibm.com> - 2016-09-21 12:40 +0200
    Re: [PATCH 0/1] memory offline issues with hugepage size > memory  block size Gerald Schaefer <gerald.schaefer@de.ibm.com> - 2016-09-21 12:40 +0200
    Re: [PATCH 0/1] memory offline issues with hugepage size > memory  block size Michal Hocko <mhocko@kernel.org> - 2016-09-21 20:30 +0200
      Re: [PATCH 0/1] memory offline issues with hugepage size > memory  block size Dave Hansen <dave.hansen@linux.intel.com> - 2016-09-21 20:30 +0200
        Re: [PATCH 0/1] memory offline issues with hugepage size > memory  block size Michal Hocko <mhocko@kernel.org> - 2016-09-21 21:30 +0200

csiph-web