linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@suse.com>
To: Vlastimil Babka <vbabka@suse.cz>
Cc: Shakeel Butt <shakeel.butt@linux.dev>,
	Dave Chinner <david@fromorbit.com>,
	Yafang Shao <laoar.shao@gmail.com>,
	Harry Yoo <harry.yoo@oracle.com>, Kees Cook <kees@kernel.org>,
	joel.granados@kernel.org, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org, Josef Bacik <josef@toxicpanda.com>,
	linux-mm@kvack.org
Subject: Re: [PATCH] mm: kvmalloc: make kmalloc fast path real fast path
Date: Thu, 3 Apr 2025 10:59:48 +0200	[thread overview]
Message-ID: <Z-5OBJrdjDBj_nrr@tiehlicka> (raw)
In-Reply-To: <ad7b308e-64aa-4bd4-be1c-fbcdd02a0f10@suse.cz>

On Thu 03-04-25 10:24:56, Vlastimil Babka wrote:
[...]
> - to replace xlog_kvmalloc(), we need to deal with kvmalloc() passing
> VM_ALLOW_HUGE_VMAP, so we don't end up with GFP_KERNEL huge allocation
> anyway (in practice maybe it wouldn't happen because "size >= PMD_SIZE"
> required for the huge vmalloc is never true for current xlog_kvmalloc()
> users but dunno if we can rely on that).

I would just make that its own patch. Ideally with some numbers showing
there are code paths benefiting from the change.

> Maybe it's a bad idea to use VM_ALLOW_HUGE_VMAP in kvmalloc() anyway? Since
> we're in a vmalloc fallback which means the huge allocations failed anyway
> for the kmalloc() part. Maybe there's some grey area where it makes sense,
> with size much larger than PMD_SIZE, e.g. exceeding MAX_PAGE_ORDER where we
> can't kmalloc() anyway so at least try to assemble the allocation from huge
> vmalloc. Maybe tie it to such a size check, or require __GFP_RETRY_MAYFAIL
> to activate VM_ALLOW_HUGE_VMAP?

We didn't have that initially. 9becb6889130 ("kvmalloc: use vmalloc_huge
for vmalloc allocations") has added it. I thought large allocations are
very optimistic (ie. NOWAIT like) but that doesn't seem to be the case.

As said above, I would just change that after we have any numbers to
support the removal.

> - we're still not addressing the original issue of high kcompactd activity,
> but maybe the answer is that it needs to be investigated more (why deferred
> compaction doesn't limit it) instead of trying to suppress it from kvmalloc()

yes this seems like something that should be investigated on the
compaction side.

Thanks!

-- 
Michal Hocko
SUSE Labs


  reply	other threads:[~2025-04-03  8:59 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20250401073046.51121-1-laoar.shao@gmail.com>
2025-04-01 14:01 ` [PATCH] proc: Avoid costly high-order page allocations when reading proc files Kees Cook
2025-04-01 14:50   ` Yafang Shao
2025-04-02  4:15   ` Harry Yoo
2025-04-02  8:42     ` Yafang Shao
2025-04-02  9:25       ` Vlastimil Babka
2025-04-02 12:17         ` Michal Hocko
2025-04-02 18:25         ` Shakeel Butt
2025-04-02 11:32       ` Dave Chinner
2025-04-02 12:24         ` Michal Hocko
2025-04-02 17:24           ` Matthew Wilcox
2025-04-02 18:30             ` Shakeel Butt
2025-04-02 22:38             ` Dave Chinner
2025-04-02 21:16           ` Dave Chinner
2025-04-02 23:10             ` Shakeel Butt
2025-04-03  1:22               ` Dave Chinner
2025-04-03  3:32                 ` Yafang Shao
2025-04-03  5:05                 ` Shakeel Butt
2025-04-03  7:20                   ` Michal Hocko
2025-04-03  4:37           ` Shakeel Butt
2025-04-03  7:22             ` Michal Hocko
2025-04-03  7:43               ` [PATCH] mm: kvmalloc: make kmalloc fast path real fast path Michal Hocko
2025-04-03  8:24                 ` Vlastimil Babka
2025-04-03  8:59                   ` Michal Hocko [this message]
2025-04-03 16:21                 ` Kees Cook
2025-04-03 19:49                   ` Michal Hocko
2025-04-04 15:33                   ` Darrick J. Wong
2025-04-03 18:30                 ` Shakeel Butt
2025-04-03 19:51                 ` Michal Hocko
2025-04-09  1:10                   ` Dave Chinner
2025-06-04 18:42                     ` Matthew Wilcox
2025-04-09  7:35                   ` Michal Hocko
2025-04-09  9:11                     ` Vlastimil Babka
2025-04-09 12:20                       ` Michal Hocko
2025-04-09 12:23                         ` Vlastimil Babka

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=Z-5OBJrdjDBj_nrr@tiehlicka \
    --to=mhocko@suse.com \
    --cc=david@fromorbit.com \
    --cc=harry.yoo@oracle.com \
    --cc=joel.granados@kernel.org \
    --cc=josef@toxicpanda.com \
    --cc=kees@kernel.org \
    --cc=laoar.shao@gmail.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=shakeel.butt@linux.dev \
    --cc=vbabka@suse.cz \
    /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