Re: [PATCH 1/2] raid5: Use raw_spinlock for stripe management.

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

 



Hello Julia,

On Tue, 25 Apr 2017 16:09:29 -0500
Julia Cartwright <julia@xxxxxx> wrote:

> Looking at this some more, I imagine the callpath which is problematic
> is:
> 
>    <writeback kworker>
>    ...
>    add_stripe_bio()
>      stripe_add_to_batch_list()
>        lock_two_stripes()
>          local_irq_disable()
>          spin_lock(&sh{1,2}->stripe_lock) --> ___might_sleep() -->
> BOOM
> 
> That is, it's the local_irq_disable() in lock_two_stripes() which is
> the problem.  That's my gut feel, anyway. Can you give this patch a
> try and see if works?  You'll probably still want the second patch in
> your series.

Ouch, you are absolutely right, it was not atomic context this time, so
changing spinlocks from mutex to real ones is not necessary. My fault.

Do you want me to resubmit the patch, or do it yourself?

-- 
Best regards,
 Alexander Gerasiov

 Contacts:
 e-mail: gq@xxxxxxxxx  Homepage: http://gerasiov.net  Skype: gerasiov
 PGP fingerprint: 04B5 9D90 DF7C C2AB CD49  BAEA CA87 E9E8 2AAC 33F1
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux