]> www.infradead.org Git - users/jedix/linux-maple.git/commit
SDP: do gracefull close instead of always doing abortive close.
authorAmir Vadai <amirv@mellanox.co.il>
Thu, 10 Jul 2008 08:53:53 +0000 (01:53 -0700)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 6 Oct 2015 12:04:16 +0000 (05:04 -0700)
commit5ba32561b46c59f0fb42632f3133affcd551ec03
tree5176e9a5d0dffa21a2af994bb6c9342164746642
parentbfcc9043062b86e3eeccbc54d2297b82edd63348
SDP: do gracefull close instead of always doing abortive close.

Main changes:
1.  when a close/shutdown syscall is called, instead of sending a DREQ, put
    last socket ref count and go to TCP_CLOSE state do:
    - take a socket reference count
    - set state to TCP_TIME_WAIT
    - start infiniband tear down
    - wait till got RDMA_CM_EVENT_TIMEWAIT_EXIT
    - set socket state to TCP_CLOSE
    - put last socket ref count - this will call sdp_destruct()

2. No need for sdp_time_wait

3. Abortive close will immedietly start infiniband teardown - will finilize the
   socket closing when CM finish.

4. Fixed references accounting + state exchanges

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
drivers/infiniband/ulp/sdp/sdp.h
drivers/infiniband/ulp/sdp/sdp_bcopy.c
drivers/infiniband/ulp/sdp/sdp_cma.c
drivers/infiniband/ulp/sdp/sdp_main.c