• Peter Hurley's avatar
    n_tty: Remove echo_lock · 17bd7907
    Peter Hurley authored
    Adding data to echo_buf (via add_echo_byte()) is guaranteed to be
    single-threaded, since all callers are from the n_tty_receive_buf()
    path. Processing the echo_buf can be called from either the
    n_tty_receive_buf() path or the n_tty_write() path; however, these
    callers are already serialized by output_lock.
    
    Publish cumulative echo_head changes to echo_commit; process echo_buf
    from echo_tail to echo_commit; remove echo_lock.
    
    On echo_buf overrun, claim output_lock to serialize changes to
    echo_tail.
    Signed-off-by: default avatarPeter Hurley <peter@hurleysoftware.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    17bd7907
n_tty.c 57 KB