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

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

 



On Mon, Apr 24, 2017 at 04:33:35PM +0300, Alexander GQ Gerasiov wrote:
> From: Alexander GQ Gerasiov <gq@xxxxxxxxxxx>

Hello Alexander-

> This commit fixes the following warning:

In general, with the class of "convert to raw spinlock" patches, it's
nice to have written affirmation in the commit message that you've
looked through all of the codepaths and ensured bounded, minimal
behavior.

> [ ] BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:993
> [ ] in_atomic(): 0, irqs_disabled(): 1, pid: 58, name: kworker/u12:1
> [ ] CPU: 5 PID: 58 Comm: kworker/u12:1 Tainted: G        W       4.9.20-rt16-stand6-686 #1
> [ ] Hardware name: Supermicro SYS-5027R-WRF/X9SRW-F, BIOS 3.2a 10/28/2015
> [ ] Workqueue: writeback wb_workfn (flush-253:0)
> [ ]  edf21a34 c12cdc6f c1078f0a edf08c40 edf21a64 c10787c1 c1668778 00000000
> [ ]  00000001 0000003a edf09144 00000000 80000000 ec694b18 ec775748 ec694ad0
> [ ]  edf21a70 c1584587 ec775790 edf21ac4 f893e8a3 00000000 c1078e52 00000000
> [ ] Call Trace:
> [ ]  [<c12cdc6f>] dump_stack+0x47/0x68
> [ ]  [<c1078f0a>] ? migrate_enable+0x4a/0xf0
> [ ]  [<c10787c1>] ___might_sleep+0x101/0x180
> [ ]  [<c1584587>] rt_spin_lock+0x17/0x40
> [ ]  [<f893e8a3>] add_stripe_bio+0x4e3/0x6c0 [raid456]
> [ ]  [<c1078e52>] ? preempt_count_add+0x42/0xb0
> [ ]  [<f89408f7>] raid5_make_request+0x737/0xdd0 [raid456]

Did you cut off the bottom of the callstack, here?

This conversion seems a bit fishy to me... is any of the raid5 code
invoked from hard interrupt context?

   Julia

Attachment: signature.asc
Description: PGP signature


[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