• T
    tipc: add trace_events for tipc link · 26574db0
    Tuong Lien 提交于
    The commit adds the new trace_events for TIPC link object:
    
    trace_tipc_link_timeout()
    trace_tipc_link_fsm()
    trace_tipc_link_reset()
    trace_tipc_link_too_silent()
    trace_tipc_link_retrans()
    trace_tipc_link_bc_ack()
    trace_tipc_link_conges()
    
    And the traces for PROTOCOL messages at building and receiving:
    
    trace_tipc_proto_build()
    trace_tipc_proto_rcv()
    
    Note:
    a) The 'tipc_link_too_silent' event will only happen when the
    'silent_intv_cnt' is about to reach the 'abort_limit' value (and the
    event is enabled). The benefit for this kind of event is that we can
    get an early indication about TIPC link loss issue due to timeout, then
    can do some necessary actions for troubleshooting.
    
    For example: To trigger the 'tipc_proto_rcv' when the 'too_silent'
    event occurs:
    
    echo 'enable_event:tipc:tipc_proto_rcv' > \
          events/tipc/tipc_link_too_silent/trigger
    
    And disable it when TIPC link is reset:
    
    echo 'disable_event:tipc:tipc_proto_rcv' > \
          events/tipc/tipc_link_reset/trigger
    
    b) The 'tipc_link_retrans' or 'tipc_link_bc_ack' event is useful to
    trace TIPC retransmission issues.
    
    In addition, the commit adds the 'trace_tipc_list/link_dump()' at the
    'retransmission failure' case. Then, if the issue occurs, the link
    'transmq' along with the link data can be dumped for post-analysis.
    These dump events should be enabled by default since it will only take
    effect when the failure happens.
    
    The same approach is also applied for the faulty case that the
    validation of protocol message is failed.
    Acked-by: NYing Xue <ying.xue@windriver.com>
    Tested-by: NYing Xue <ying.xue@windriver.com>
    Acked-by: NJon Maloy <jon.maloy@ericsson.com>
    Signed-off-by: NTuong Lien <tuong.t.lien@dektech.com.au>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    26574db0
link.h 6.5 KB