On Fri, Apr 11, 2025 at 11:37:25PM +0300, Jarkko Sakkinen wrote:
> > This is going to enable and disable interrupts twice and that can be
> > expensive, depending on the arch.  I wonder if it would be better to do:
> > 
> >                     local_irq_save(flags);
> >                     spin_lock(&key_graveyard_lock);
> >                     list_add_tail(&key->graveyard_link, &key_graveyard);
> >                     spin_unlock(&key_graveyard_lock);
> >                     schedule_work(&key_gc_work);
> >                     local_irq_restore(flags);
> 
> I like this but shouldn't this also comprehend the quota update before
> (just asking for completeness sake)?

"This brings me on to another though:  Should key_serial_lock be a seqlock?
And should the gc use RCU + read_seqlock() and insertion
write_seqlock()?"
https://lore.kernel.org/keyrings/797521.1743602...@warthog.procyon.org.uk/

I think that should be done too (because it made whole a lot of sense)
as a separate patch. I'd just prefer move slowly and in baby steps for
better quality, and keep that as a separate follow-up patch.

It makes obviously sense given rare writes.

BR, Jarkko

Reply via email to