All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Jarkko Sakkinen" <jarkko@kernel.org>
Cc: linux-s390@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	"Heiko Carstens" <hca@linux.ibm.com>,
	"Vasily Gorbik" <gor@linux.ibm.com>,
	"Alexander Gordeev" <agordeev@linux.ibm.com>,
	"Christian Borntraeger" <borntraeger@linux.ibm.com>
Subject: Re: [PATCH v6 13/13] KEYS: key_garbage_collector(): process in chunks
Date: Thu, 12 Nov 2026 04:31:46 +0000	[thread overview]
Message-ID: <sashiko-outbox-210359@kernel.org> (raw)
In-Reply-To: <20261112040242.247168-14-jarkko@kernel.org>

> key_garbage_collector() has a design that is not resistant enough for
> workqueue lockups. The duration scales up relative to the number of items
> in the serial tree, which causes a reoccuring theme of being guilty of
> causing workqueue lockups.
> 
> Resolve the problem by processing in chunks:
> 
> 1. Declare a static variable key_gc_work, which owns the garbage collection
>    in-flight state, and key_schedule_gc_work() for re-scheduling the work.
> 2. Define KEY_GC_CHUNK_SIZE, set to 64 keys, as the bound for the number
>    of items scanned and destroyed.
> 3. Define KEY_GC_DESTROYING to mark resume to destruction without repeating
>    the RCU grace period.
> 4. Define KEY_GC_REAP_REQUESTED for preserving full-pass requests across
>    the continuations.
> [ ... ]
> decline.
> 
> Fixes: 0c061b5707ab ("KEYS: Correctly destroy key payloads when their keytype is removed")
> Link: https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd-test.git/tree/package/keygcbench
> Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>

Sashiko has reviewed this patch and found no issues.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261112040242.247168-1-jarkko@kernel.org?part=13


  reply	other threads:[~2026-11-12  4:31 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-12  4:02 [PATCH v6 00/13] KEYS: Sanitize the garbage collector Jarkko Sakkinen
2026-11-12  4:02 ` [PATCH v6 01/13] KEYS: Add key_gc_flush() for draining RCU callbacks Jarkko Sakkinen
2026-11-12  4:31   ` sashiko-bot
2026-11-12  4:02 ` [PATCH v6 02/13] dns_resolver: Move the key type into a separate module Jarkko Sakkinen
2026-11-12  4:31   ` sashiko-bot
2026-11-12  4:02 ` [PATCH v6 03/13] NFSv4: Clear idmap keyring cache when the last client unloads Jarkko Sakkinen
2026-11-12  4:31   ` sashiko-bot
2026-11-12  4:02 ` [PATCH v6 04/13] smb: client: Clear idmap/SPNEGO caches when the last session is unloaded Jarkko Sakkinen
2026-11-12  4:31   ` sashiko-bot
2026-11-12  4:02 ` [PATCH v6 05/13] s390/cert_store: Start tracking subsystem keys Jarkko Sakkinen
2026-11-12  4:31   ` sashiko-bot
2026-11-12  4:02 ` [PATCH v6 06/13] KEYS: trusted: Update static calls before init Jarkko Sakkinen
2026-11-12  4:31   ` sashiko-bot
2026-11-12  4:02 ` [PATCH v6 07/13] KEYS: trusted: TEE: Synchronize session lifetime Jarkko Sakkinen
2026-11-12  4:31   ` sashiko-bot
2026-11-12  4:02 ` [PATCH v6 08/13] KEYS: trusted: TEE: Disable sysfs bind attributes Jarkko Sakkinen
2026-11-12  4:31   ` sashiko-bot
2026-11-12  4:02 ` [PATCH v6 09/13] rxrpc: Release conn->key when init_connection_security() fails Jarkko Sakkinen
2026-11-12  4:31   ` sashiko-bot
2026-11-12  4:02 ` [PATCH v6 10/13] rxrpc: Move key types to their own module Jarkko Sakkinen
2026-11-12  4:31   ` sashiko-bot
2026-11-12  4:02 ` [PATCH v6 11/13] KEYS: Pin the backing kernel module for a key type Jarkko Sakkinen
2026-11-12  4:31   ` sashiko-bot
2026-11-12  4:02 ` [PATCH v6 12/13] KEYS: Remove key_type_dead Jarkko Sakkinen
2026-11-12  4:31   ` sashiko-bot
2026-11-12  4:02 ` [PATCH v6 13/13] KEYS: key_garbage_collector(): process in chunks Jarkko Sakkinen
2026-11-12  4:31   ` sashiko-bot [this message]
2026-11-12  8:11 ` [PATCH v6 00/13] KEYS: Sanitize the garbage collector Jarkko Sakkinen

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=sashiko-outbox-210359@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=agordeev@linux.ibm.com \
    --cc=borntraeger@linux.ibm.com \
    --cc=gor@linux.ibm.com \
    --cc=hca@linux.ibm.com \
    --cc=jarkko@kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /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.