alistair23-linux/net/rxrpc
David Howells 69ffaebb90 rxrpc: Fix client call queueing, waiting for channel
rxrpc_get_client_conn() adds a new call to the front of the waiting_calls
queue if the connection it's going to use already exists.  This is bad as
it allows calls to get starved out.

Fix this by adding to the tail instead.

Also change the other enqueue point in the same function to put it on the
front (ie. when we have a new connection).  This makes the point that in
the case of a new connection the new call goes at the front (though it
doesn't actually matter since the queue should be unoccupied).

Fixes: 45025bceef ("rxrpc: Improve management and caching of client connection objects")
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: Marc Dionne <marc.dionne@auristor.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-03-08 18:24:53 -08:00
..
af_rxrpc.c Revert "rxrpc: Allow failed client calls to be retried" 2019-01-15 21:33:36 -08:00
ar-internal.h Revert "rxrpc: Allow failed client calls to be retried" 2019-01-15 21:33:36 -08:00
call_accept.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-10-19 11:03:06 -07:00
call_event.c rxrpc: Fix lockup due to no error backoff after ack transmit error 2018-11-02 23:59:26 -07:00
call_object.c Revert "rxrpc: Allow failed client calls to be retried" 2019-01-15 21:33:36 -08:00
conn_client.c rxrpc: Fix client call queueing, waiting for channel 2019-03-08 18:24:53 -08:00
conn_event.c rxrpc: Fix connection-level abort handling 2018-10-08 22:42:04 +01:00
conn_object.c rxrpc: Drop the local endpoint arg from rxrpc_extract_addr_from_skb() 2018-10-04 09:32:28 +01:00
conn_service.c
input.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-10-12 21:38:46 -07:00
insecure.c
Kconfig
key.c
local_event.c rxrpc: Drop the local endpoint arg from rxrpc_extract_addr_from_skb() 2018-10-04 09:32:28 +01:00
local_object.c sockopt: Rename SO_TIMESTAMP* to SO_TIMESTAMP*_OLD 2019-02-03 11:17:30 -08:00
Makefile
misc.c
net_ns.c rxrpc: Add /proc/net/rxrpc/peers to display peer list 2018-10-15 22:52:58 -07:00
output.c rxrpc: Fix lockup due to no error backoff after ack transmit error 2018-11-02 23:59:26 -07:00
peer_event.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-10-19 11:03:06 -07:00
peer_object.c rxrpc: Fix the packet reception routine 2018-10-08 22:42:04 +01:00
proc.c rxrpc: Add /proc/net/rxrpc/peers to display peer list 2018-10-15 22:52:58 -07:00
protocol.h rxrpc: Improve up-front incoming packet checking 2018-09-28 10:32:31 +01:00
recvmsg.c rxrpc: bad unlock balance in rxrpc_recvmsg 2019-02-06 10:54:07 -08:00
rxkad.c rxrpc: Remove VLA usage of skcipher 2018-09-28 12:46:07 +08:00
security.c
sendmsg.c Revert "rxrpc: Allow failed client calls to be retried" 2019-01-15 21:33:36 -08:00
skbuff.c rxrpc: Use rxrpc_free_skb() rather than rxrpc_lose_skb() 2018-10-04 09:32:27 +01:00
sysctl.c rxrpc: remove redundant static int 'zero' 2018-08-11 11:25:18 -07:00
utils.c rxrpc: Drop the local endpoint arg from rxrpc_extract_addr_from_skb() 2018-10-04 09:32:28 +01:00