[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20220413150422.e4fc3bda48a285bf7bdc5587@linux-foundation.org>
Date: Wed, 13 Apr 2022 15:04:22 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: "liupeng (DM)" <liupeng256@...wei.com>
Cc: <mike.kravetz@...cle.com>, <david@...hat.com>,
<yaozhenguo1@...il.com>, <baolin.wang@...ux.alibaba.com>,
<songmuchun@...edance.com>, <liuyuntao10@...wei.com>,
<linux-mm@...ck.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3 1/4] hugetlb: Fix wrong use of nr_online_nodes
On Wed, 13 Apr 2022 14:27:54 +0800 "liupeng (DM)" <liupeng256@...wei.com> wrote:
>
> On 2022/4/13 12:42, Andrew Morton wrote:
> > On Wed, 13 Apr 2022 03:29:12 +0000 Peng Liu<liupeng256@...wei.com> wrote:
> >
> >> Certain systems are designed to have sparse/discontiguous nodes. In
> >> this case, nr_online_nodes can not be used to walk through numa node.
> >> Also, a valid node may be greater than nr_online_nodes.
> >>
> >> However, in hugetlb, it is assumed that nodes are contiguous. Recheck
> >> all the places that use nr_online_nodes, and repair them one by one.
> >>
> > What are the runtime effects of this shortcoming?
> > .
>
> For sparse/discontiguous nodes, the current code may treat a valid node
> as invalid, and will fail to allocate all hugepages on a valid node that
> "nid >= nr_online_nodes".
>
> As David suggested:
> if (tmp >= nr_online_nodes)
> goto invalid;
>
> Just imagine node 0 and node 2 are online, and node 1 is offline. Assuming
> that "node < 2" is valid is wrong.
So do you think we should backport thtis fix into earlier kernel releases?
Powered by blists - more mailing lists