From: Thomas Gleixner <tglx@linutronix.de>
To: Matthew Wilcox <willy@infradead.org>
Cc: Vlastimil Babka <vbabka@suse.cz>,
kernel test robot <oliver.sang@intel.com>,
Shanker Donthineni <sdonthineni@nvidia.com>,
oe-lkp@lists.linux.dev, lkp@intel.com,
linux-kernel@vger.kernel.org, Marc Zyngier <maz@kernel.org>,
Michael Walle <michael@walle.cc>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Hans de Goede <hdegoede@redhat.com>,
Wolfram Sang <wsa+renesas@sang-engineering.com>,
linux-mm@kvack.org, "Liam R. Howlett" <Liam.Howlett@oracle.com>,
David Rientjes <rientjes@google.com>,
Christoph Lameter <cl@linux.com>,
Pekka Enberg <penberg@kernel.org>,
Joonsoo Kim <iamjoonsoo.kim@lge.com>,
Hyeonggon Yoo <42.hyeyoo@gmail.com>,
Roman Gushchin <roman.gushchin@linux.dev>
Subject: Re: mm, slab/slub: Ensure kmem_cache_alloc_bulk() is available early
Date: Fri, 10 Feb 2023 00:19:38 +0100 [thread overview]
Message-ID: <87h6vu1l6d.ffs@tglx> (raw)
In-Reply-To: <Y+VXamju0ECWYR5y@casper.infradead.org>
On Thu, Feb 09 2023 at 20:28, Matthew Wilcox wrote:
> On Wed, Feb 08, 2023 at 09:46:30PM +0100, Thomas Gleixner wrote:
>> The issue is that there might be maple_tree users which depend on
>> GFP_ATOMIC, but call in from interrupt enabled context, which is
>> legitimate today.
>>
>> Willy might have some insight on that.
>
> Not today, but eventually. There are XArray users which modify the tree
> in interrupt context or under some other spinlock that we can't drop
> for them in order to do an allocation. And I want to replace the radix
> tree underpinnings of the XArray with the maple tree. In my copious
> spare time.
If any usage which you described, i.e. interrupt context or with a
spinlock held, where interrupts were disabled on acquisition of the
lock, ends up calling into kmem_cache_alloc_bulk() today, then that's
broken because kmem_cache_alloc_bulk() reenables interrupts
unconditionally.
So either such code does not exist as of today or it just gets lucky to
not run into the code path leading up to kmem_cache_alloc_bulk().
We have to clarify what the valid calling convention of
kmem_cache_alloc_bulk() is in the regular kernel context, i.e. outside
of early boot.
Thanks,
tglx
next prev parent reply other threads:[~2023-02-09 23:19 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-30 0:57 [PATCH 0/5] Increase the number of IRQ descriptors for SPARSEIRQ Shanker Donthineni
2023-01-30 0:57 ` [PATCH 1/5] genirq: Use hlist for managing resend handlers Shanker Donthineni
2023-01-31 8:59 ` Thomas Gleixner
2023-01-31 16:17 ` Shanker Donthineni
2023-01-31 17:06 ` Shanker Donthineni
2023-01-30 0:57 ` [PATCH 2/5] genirq: Allocate IRQ descriptors at boot time for !SPARSEIRQ Shanker Donthineni
2023-01-31 9:16 ` Thomas Gleixner
2023-01-31 16:41 ` Shanker Donthineni
2023-02-07 10:28 ` Thomas Gleixner
2023-01-30 0:57 ` [PATCH 3/5] genirq: Introduce two helper functions Shanker Donthineni
2023-01-31 9:20 ` Thomas Gleixner
2023-01-31 16:42 ` Shanker Donthineni
2023-01-30 0:57 ` [PATCH 4/5] genirq: Use the common function irq_expand_nr_irqs() Shanker Donthineni
2023-01-31 9:35 ` Thomas Gleixner
2023-01-31 16:43 ` Shanker Donthineni
2023-02-07 10:29 ` Thomas Gleixner
2023-01-30 0:57 ` [PATCH 5/5] genirq: Use the maple tree for IRQ descriptors management Shanker Donthineni
2023-01-31 9:52 ` Thomas Gleixner
2023-01-31 16:45 ` Shanker Donthineni
2023-02-01 6:02 ` kernel test robot
2023-02-01 13:27 ` Thomas Gleixner
2023-02-06 14:24 ` Vlastimil Babka
2023-02-06 18:10 ` Thomas Gleixner
2023-02-07 10:30 ` Thomas Gleixner
2023-02-07 14:16 ` mm, slab/slub: Ensure kmem_cache_alloc_bulk() is available early Thomas Gleixner
2023-02-07 14:45 ` Vlastimil Babka
2023-02-07 14:47 ` Vlastimil Babka
2023-02-07 18:20 ` Thomas Gleixner
2023-02-08 9:15 ` Vlastimil Babka
2023-02-08 20:46 ` Thomas Gleixner
2023-02-09 20:28 ` Matthew Wilcox
2023-02-09 23:19 ` Thomas Gleixner [this message]
2023-02-08 13:20 ` Hyeonggon Yoo
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=87h6vu1l6d.ffs@tglx \
--to=tglx@linutronix.de \
--cc=42.hyeyoo@gmail.com \
--cc=Liam.Howlett@oracle.com \
--cc=bigeasy@linutronix.de \
--cc=cl@linux.com \
--cc=hdegoede@redhat.com \
--cc=iamjoonsoo.kim@lge.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lkp@intel.com \
--cc=maz@kernel.org \
--cc=michael@walle.cc \
--cc=oe-lkp@lists.linux.dev \
--cc=oliver.sang@intel.com \
--cc=penberg@kernel.org \
--cc=rientjes@google.com \
--cc=roman.gushchin@linux.dev \
--cc=sdonthineni@nvidia.com \
--cc=vbabka@suse.cz \
--cc=willy@infradead.org \
--cc=wsa+renesas@sang-engineering.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 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.