rxrpc: Calculate serial skew on packet reception
authorDavid Howells <dhowells@redhat.com>
Tue, 23 Aug 2016 14:27:25 +0000 (15:27 +0100)
committerDavid Howells <dhowells@redhat.com>
Tue, 23 Aug 2016 15:02:35 +0000 (16:02 +0100)
commit563ea7d5d4eaf0ff63ddcaf8ed849eb88bb5738d
tree0a440b2f02e5a16d30058aa8b0f8fb10e8584b35
parentf51b4480021c470d1f5e8066ccc7c10513bd4e37
rxrpc: Calculate serial skew on packet reception

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: David Howells <dhowells@redhat.com>
net/rxrpc/ar-internal.h
net/rxrpc/call_event.c
net/rxrpc/input.c
net/rxrpc/proc.c
net/rxrpc/skbuff.c