All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Dybcio <konrad.dybcio@linaro.org>
To: Mike Kravetz <mike.kravetz@oracle.com>,
	Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Xiongchun Duan <duanxiongchun@bytedance.com>,
	Barry Song <21cnbao@gmail.com>,
	David Rientjes <rientjes@google.com>,
	Miaohe Lin <linmiaohe@huawei.com>,
	Matthew Wilcox <willy@infradead.org>,
	linux-mm@kvack.org, Naoya Horiguchi <naoya.horiguchi@linux.dev>,
	Joao Martins <joao.m.martins@oracle.com>,
	David Hildenbrand <david@redhat.com>,
	Michal Hocko <mhocko@suse.com>,
	Oscar Salvador <osalvador@suse.de>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6 2/8] hugetlb: restructure pool allocations
Date: Mon, 9 Oct 2023 12:11:42 +0200	[thread overview]
Message-ID: <070bd916-d4d6-41c2-9f51-af35e80c96b9@linaro.org> (raw)
In-Reply-To: <20231009032926.GA3376@monkey>

On 9.10.2023 05:29, Mike Kravetz wrote:
> On 10/06/23 15:35, Mike Kravetz wrote:
>> On 10/06/23 23:39, Konrad Dybcio wrote:
>>> On 6.10.2023 05:08, Mike Kravetz wrote:
>>>> On 10/02/23 11:57, Konrad Dybcio wrote:
>>>>>
>>>>>
>>>>> On 9/29/23 22:57, Mike Kravetz wrote:
>>>>>> On 09/27/23 13:26, Konrad Dybcio wrote:
>>>>>>>
>>>>>>>
>>>>>>> On 26.09.2023 01:48, Mike Kravetz wrote:
>>>>>>>> Allocation of a hugetlb page for the hugetlb pool is done by the routine
>>>>>>>> alloc_pool_huge_page.  This routine will allocate contiguous pages from
>>>>>>>> a low level allocator, prep the pages for usage as a hugetlb page and
>>>>>>>> then add the resulting hugetlb page to the pool.
>>>>>>>>
>>>>>>>> In the 'prep' stage, optional vmemmap optimization is done.  For
>>>>>>>> performance reasons we want to perform vmemmap optimization on multiple
>>>>>>>> hugetlb pages at once.  To do this, restructure the hugetlb pool
>>>>>>>> allocation code such that vmemmap optimization can be isolated and later
>>>>>>>> batched.
>>>>>>>>
>>>>>>>> The code to allocate hugetlb pages from bootmem was also modified to
>>>>>>>> allow batching.
>>>>>>>>
>>>>>>>> No functional changes, only code restructure.
>>>>>>>>
>>>>>>>> Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com>
>>>>>>>> Reviewed-by: Muchun Song <songmuchun@bytedance.com>
>>>>>>>> ---
>>>>>>> Hi, looks like this patch prevents today's next from booting
>>>>>>> on at least one Qualcomm ARM64 platform. Reverting it makes
>>>>>>> the device boot again.
>>>>>>
>>>>>> Can you share the config used and any other specific information such as
>>>>>> kernel command line.
>>>>> Later this week.
>>>>
>>>> As mentioned, I have been unable to reproduce on arm64 platforms I can
>>>> access.  I have tried various config and boot options.  While doing so,
>>>> I came across one issue impacting kernels compiled without
>>>> CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP defined.  This is not something
>>>> that would prevent booting.
>>>>
>>>> I will send out an updated version series in the hope that any other
>>>> issues may be discovered.
>>> I'm pushing the "later this week" by answering near end of calendar
>>> day, Friday, but it seems like this patch in v7 still prevents the
>>> device from booting..
>>>
>>> You can find my defconfig at the link below.
>>>
>>> https://gist.github.com/konradybcio/d865f8dc9b12a98ba3875ec5a9aac42e
>>>
>>
>> Thanks!
>>
>> I assume there is no further information such as any console output?
>> Did any of you other arm64 platforms have this issue?
>>
>> Just trying to get as much information as possible to get to root cause.
> 
> I have not had success isolating the issue with your config file.
> 
> Since the only code changes in this patch deal with allocating hugetlb
> pages, I assume this is what you are doing?  Can you let me know how you
> are performing the allocations?  I assume it is on the kernel command
> line as these would be processed earliest in boot.
> 
> If you are not allocating hugetlb pages, then I need to think of what
> else may be happening.
> 
> Anshuman, any chance you (or someone else with access to arm64 platforms)
> could throw this on any platforms you have access to for a quick test?
I managed to get a boot log:

https://pastebin.com/GwurpCw9

This is using arch/arm64/boot/dts/qcom/sm8550-mtp.dts for reference

Konrad

  reply	other threads:[~2023-10-09 10:11 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-25 23:48 [PATCH v6 0/8] Batch hugetlb vmemmap modification operations Mike Kravetz
2023-09-25 23:48 ` [PATCH v6 1/8] hugetlb: optimize update_and_free_pages_bulk to avoid lock cycles Mike Kravetz
2023-09-25 23:48 ` [PATCH v6 2/8] hugetlb: restructure pool allocations Mike Kravetz
2023-09-27 11:26   ` Konrad Dybcio
2023-09-29 20:57     ` Mike Kravetz
2023-10-02  9:57       ` Konrad Dybcio
2023-10-06  3:08         ` Mike Kravetz
2023-10-06 21:39           ` Konrad Dybcio
2023-10-06 22:35             ` Mike Kravetz
2023-10-09  3:29               ` Mike Kravetz
2023-10-09 10:11                 ` Konrad Dybcio [this message]
2023-10-09 15:04                   ` Mike Kravetz
2023-10-09 15:15                     ` Mike Kravetz
2023-10-09 21:09                       ` Konrad Dybcio
2023-10-10  1:26                         ` Mike Kravetz
2023-10-10  0:07                       ` Andrew Morton
2023-10-10 21:30                         ` Konrad Dybcio
2023-10-10 21:45                           ` Mike Kravetz
2023-10-11  9:36                             ` Konrad Dybcio
2023-10-09 21:09                     ` Konrad Dybcio
2023-10-07  1:51             ` Jane Chu
2023-10-09 10:13               ` Konrad Dybcio
2023-09-25 23:48 ` [PATCH v6 3/8] hugetlb: perform vmemmap optimization on a list of pages Mike Kravetz
2023-09-25 23:48 ` [PATCH v6 4/8] hugetlb: perform vmemmap restoration " Mike Kravetz
2023-09-26  2:27   ` Muchun Song
2023-09-29 22:10   ` Mike Kravetz
2023-09-25 23:48 ` [PATCH v6 5/8] hugetlb: batch freeing of vmemmap pages Mike Kravetz
2023-09-25 23:48 ` [PATCH v6 6/8] hugetlb: batch PMD split for bulk vmemmap dedup Mike Kravetz
2023-09-25 23:48 ` [PATCH v6 7/8] hugetlb: batch TLB flushes when freeing vmemmap Mike Kravetz
2023-09-25 23:48 ` [PATCH v6 8/8] hugetlb: batch TLB flushes when restoring vmemmap Mike Kravetz
2023-09-26  2:20   ` Muchun Song

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=070bd916-d4d6-41c2-9f51-af35e80c96b9@linaro.org \
    --to=konrad.dybcio@linaro.org \
    --cc=21cnbao@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=anshuman.khandual@arm.com \
    --cc=david@redhat.com \
    --cc=duanxiongchun@bytedance.com \
    --cc=joao.m.martins@oracle.com \
    --cc=linmiaohe@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.com \
    --cc=mike.kravetz@oracle.com \
    --cc=naoya.horiguchi@linux.dev \
    --cc=osalvador@suse.de \
    --cc=rientjes@google.com \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.