From: Michal Hocko <mhocko@suse.com>
To: Uladzislau Rezki <urezki@gmail.com>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
Baoquan He <bhe@redhat.com>, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 04/10] mm/vmalloc: Avoid cond_resched() when blocking is not permitted
Date: Tue, 16 Sep 2025 20:08:18 +0200 [thread overview]
Message-ID: <aMmnkm_E7hDO_yN0@tiehlicka> (raw)
In-Reply-To: <aMmCJOJFMTuCXH3m@milan>
On Tue 16-09-25 17:28:36, Uladzislau Rezki wrote:
> On Mon, Sep 15, 2025 at 07:11:27PM +0200, Michal Hocko wrote:
> > On Mon 15-09-25 15:40:34, Uladzislau Rezki wrote:
> > > vm_area_alloc_pages() contains the only voluntary reschedule points
> > > along vmalloc() allocation path. They are needed to ensure forward
> > > progress on PREEMPT_NONE kernels under contention for vmap metadata
> > > (e.g. alloc_vmap_area()).
> > >
> > > However, yielding should only be done if the given GFP flags allow
> > > blocking. This patch avoids calling cond_resched() when allocation
> > > context is non-blocking(GFP_ATOMIC, GFP_NOWAIT).
> >
> > We do have cond_resched in the page allocator path, right?
> > So unless I am missing something we can safely drope these. I thought we
> > have discused this already.
> >
> Yes, we discussed this. I did some test with dropped cond_resched() for
> !PREEMPT kernel and i can trigger soft-lockups under really heavy stress
> load.
>
> I prefer to keep them so far for consistency. I need some time to
> investigate it more. As i noted in commit message, the vmalloc()
> path only has those two resched points. Probably i need to move
> them into another place later.
>
> As for page-allocator, it is in a slow path which i do not hit in
> my stress-setup.
OK, so the fast path can trigger the soft lockup? If yes please mention
that in the changelog so that we know why this is needed. With that
included feel free to add
Acked-by: Michal Hocko <mhocko@suse.com>
--
Michal Hocko
SUSE Labs
next prev parent reply other threads:[~2025-09-16 18:08 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-15 13:40 [PATCH v2 00/10] __vmalloc() and no-block support(v2) Uladzislau Rezki (Sony)
2025-09-15 13:40 ` [PATCH v2 01/10] lib/test_vmalloc: add no_block_alloc_test case Uladzislau Rezki (Sony)
2025-09-15 13:40 ` [PATCH v2 02/10] lib/test_vmalloc: Remove xfail condition check Uladzislau Rezki (Sony)
2025-09-15 13:40 ` [PATCH v2 03/10] mm/vmalloc: Support non-blocking GFP flags in alloc_vmap_area() Uladzislau Rezki (Sony)
2025-09-18 2:56 ` Baoquan He
2025-09-15 13:40 ` [PATCH v2 04/10] mm/vmalloc: Avoid cond_resched() when blocking is not permitted Uladzislau Rezki (Sony)
2025-09-15 17:11 ` Michal Hocko
2025-09-16 15:28 ` Uladzislau Rezki
2025-09-16 18:08 ` Michal Hocko [this message]
2025-09-17 5:22 ` Uladzislau Rezki
2025-09-18 2:57 ` Baoquan He
2025-09-15 13:40 ` [PATCH v2 05/10] mm/vmalloc: Defer freeing partly initialized vm_struct Uladzislau Rezki (Sony)
2025-09-18 2:59 ` Baoquan He
2025-09-15 13:40 ` [PATCH v2 06/10] mm/vmalloc: Handle non-blocking GFP in __vmalloc_area_node() Uladzislau Rezki (Sony)
2025-09-18 3:01 ` Baoquan He
2025-09-15 13:40 ` [PATCH v2 07/10] mm/kasan: Support non-blocking GFP in kasan_populate_vmalloc() Uladzislau Rezki (Sony)
2025-09-18 3:02 ` Baoquan He
2025-09-18 14:56 ` Andrey Ryabinin
2025-09-15 13:40 ` [PATCH v2 08/10] kmsan: Remove hard-coded GFP_KERNEL flags Uladzislau Rezki (Sony)
2025-09-15 13:40 ` [PATCH v2 09/10] mm: Skip might_alloc() warnings when PF_MEMALLOC is set Uladzislau Rezki (Sony)
2025-09-15 17:16 ` Michal Hocko
2025-09-16 15:23 ` Uladzislau Rezki
2025-09-15 13:40 ` [PATCH v2 10/10] mm/vmalloc: Update __vmalloc_node_range() documentation Uladzislau Rezki (Sony)
2025-09-15 17:13 ` Michal Hocko
2025-09-16 15:34 ` Uladzislau Rezki
2025-09-16 0:34 ` kernel test robot
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=aMmnkm_E7hDO_yN0@tiehlicka \
--to=mhocko@suse.com \
--cc=akpm@linux-foundation.org \
--cc=bhe@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=urezki@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox