Re: [PATCHv2] efi/unaccepted: Fix soft lockups caused by parallel memory acceptance

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 17, 2023 at 09:42:13AM +0200, Ard Biesheuvel wrote:
> On Mon, 16 Oct 2023 at 23:39, Kirill A. Shutemov
> <kirill.shutemov@xxxxxxxxxxxxxxx> wrote:
> >
> > On Mon, Oct 16, 2023 at 06:55:41PM +0100, Matthew Wilcox wrote:
> > > On Mon, Oct 16, 2023 at 07:31:22PM +0300, Kirill A. Shutemov wrote:
> > > >   v2:
> > > >    - Fix deadlock (Vlastimil);
> > > >    - Fix comments (Vlastimil);
> > > >    - s/cond_resched()/cpu_relax()/ -- cond_resched() cannot be called
> > > >      from atomic context;
> > >
> > > Isn't there an implicit cpu_relax() while we're spinning?  Does this
> > > really accomplish anything?
> >
> > You are right. It is useless. I will drop it in v3.
> >
> 
> I can drop that bit when applying the patch.
> 
> One question I have is whether the sequence
> 
> spin_lock_irqsave(&unaccepted_memory_lock, flags);
> ...
> spin_unlock(&unaccepted_memory_lock);
> arch_accept_memory(phys_start, phys_end);
> spin_lock(&unaccepted_memory_lock);
> ...
> spin_unlock_irqrestore(&unaccepted_memory_lock, flags);
> 
> is considered sound and is supported by all architectures?

I am not an locking expert and only tested it on x86. But what potential
issue do you see?

-- 
  Kiryl Shutsemau / Kirill A. Shutemov




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux