Skip to content
  1. Aug 24, 2016
  2. Aug 23, 2016
    • David Howells's avatar
      rxrpc: Perform terminal call ACK/ABORT retransmission from conn processor · 18bfeba5
      David Howells authored
      
      
      Perform terminal call ACK/ABORT retransmission in the connection processor
      rather than in the call processor.  With this change, once last_call is
      set, no more incoming packets will be routed to the corresponding call or
      any earlier calls on that channel (call IDs must only increase on a channel
      on a connection).
      
      Further, if a packet's callNumber is before the last_call ID or a packet is
      aimed at successfully completed service call then that packet is discarded
      and ignored.
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      18bfeba5
    • David Howells's avatar
      rxrpc: Calculate serial skew on packet reception · 563ea7d5
      David Howells authored
      
      
      Calculate the serial number skew in the data_ready handler when a packet
      has been received and a connection looked up.  The skew is cached in the
      sk_buff's priority field.
      
      The connection highest received serial number is updated at this time also.
      This can be done without locks or atomic instructions because, at this
      point, the code is serialised by the socket.
      
      This generates more accurate skew data because if the packet is offloaded
      to a work queue before this is determined, more packets may come in,
      bumping the highest serial number and thereby increasing the apparent skew.
      
      This also removes some unnecessary atomic ops.
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      563ea7d5