Messages in this thread | | | From | Linus Torvalds <> | Date | Tue, 01 May 2018 16:06:48 +0000 | Subject | Re: INFO: task hung in wb_shutdown (2) |
| |
On Tue, May 1, 2018 at 3:27 AM Tetsuo Handa < penguin-kernel@i-love.sakura.ne.jp> wrote:
> Can you review this patch? syzbot has hit this bug for nearly 4000 times but > is still unable to find a reproducer. Therefore, the only way to test would be > to apply this patch upstream and test whether the problem is solved.
Looks ok to me, except:
> > smp_wmb(); > > clear_bit(WB_shutting_down, &wb->state); > > + smp_mb(); /* advised by wake_up_bit() */ > > + wake_up_bit(&wb->state, WB_shutting_down);
This whole sequence really should just be a pattern with a helper function.
And honestly, the pattern probably *should* be
clear_bit_unlock(bit, &mem); smp_mb__after_atomic() wake_up_bit(&mem, bit);
which looks like it is a bit cleaner wrt memory ordering rules.
Linus
| |