Peter Hurley wrote: > On 10/09/2015 01:28 PM, Peter Hurley wrote: >> Tatsukawa-san, >> >> I would still like to root-cause the reported stall; is the reported >> stall resolved if smp_mb() is added before the waitqueue_active() >> in __receive_buf()? > > Nevermind, I see it now. > > The store to commit_head is deferred until after the load of read_wait->next; > a full memory barrier would properly order the store before the load but, > since that is roughly equivalent to taking the spin lock for the wake up > anyway, > it makes sense to just always do the wakeup.
The stall problem is resolved if smp_mb() is added both before the waitqueue_active() in __receive_buf(), and before the line containing input_available_p() in n_tty_read(). --- Kosuke TATSUKAWA | 3rd IT Platform Department | IT Platform Division, NEC Corporation | ta...@ab.jp.nec.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/