Thread (8 messages) 8 messages, 4 authors, 2022-07-13

Re: Linux 5.18-rc4

From: Matthew Wilcox <willy@infradead.org>
Date: 2022-06-13 22:49:13
Also in: linux-fsdevel, linux-mm, lkml

Possibly related (same subject, not in this thread)

On Mon, Jun 06, 2022 at 02:00:33PM -0700, John Johansen wrote:
On 6/6/22 13:23, Matthew Wilcox wrote:
quoted
On Mon, Jun 06, 2022 at 12:19:36PM -0700, John Johansen wrote:
quoted
quoted
I suspect that part is that both Apparmor and IPC use the idr local lock.
bingo,

apparmor moved its secids allocation from a custom radix tree to idr in

  99cc45e48678 apparmor: Use an IDR to allocate apparmor secids

and ipc is using the idr for its id allocation as well

I can easily lift the secid() allocation out of the ctx->lock but that
would still leave it happening under the file_lock and not fix the problem.
I think the quick solution would be for apparmor to stop using idr, reverting
back at least temporarily to the custom radix tree.
How about moving forward to the XArray that doesn't use that horrid
prealloc gunk?  Compile tested only.
I'm not very familiar with XArray but it does seem like a good fit. We do try
to keep the secid allocation dense, ideally no holes. Wrt the current locking
issue I want to hear what Thomas has to say. Regardless I am looking into
whether we should just switch to XArrays going forward.
Nothing from Thomas ... shall we just go with this?  Do you want a
commit message, etc for the patch?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help