]>
www.infradead.org Git - users/jedix/linux-maple.git/log
Eldad Zinger [Mon, 12 Jul 2010 12:59:57 +0000 (15:59 +0300)]
sdp: enable rx_cq arming when no one polls.
No need to explicitly arm the cq, posts_handler_put will arm it.
Eldad Zinger [Sun, 11 Jul 2010 09:14:20 +0000 (12:14 +0300)]
sdp: before arming cq, need to check if cq was not destroyed already.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Thu, 8 Jul 2010 13:37:24 +0000 (16:37 +0300)]
sdp: When purging tx_ring, rdma_inflight accountings should be disregarded, so the number of skbs to free is just (posted=head-tail).
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Thu, 8 Jul 2010 13:27:20 +0000 (16:27 +0300)]
sdp: tx_ring timer should not be scheduled if the qp is not active anymore.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Wed, 7 Jul 2010 15:48:27 +0000 (18:48 +0300)]
sdp: if can't recv or send, and the qp is not active, return -EPIPE instead of 0
This fixes an endles loop problem where userspace programs are looping on recv
or send until all required bytes processed or until an error returned.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Wed, 7 Jul 2010 13:03:11 +0000 (16:03 +0300)]
sdp: rx completions workqueue should be flushed after qp destruction and before the socket is freed.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Mon, 5 Jul 2010 11:46:04 +0000 (14:46 +0300)]
sdp: rx/tx tasklets should be properly killed when destroying qp.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Mon, 5 Jul 2010 08:38:11 +0000 (11:38 +0300)]
sdp: some annoying whitespaces removed.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Sun, 4 Jul 2010 14:15:43 +0000 (17:15 +0300)]
sdp: remove white spaces in the end of some lines.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Sun, 4 Jul 2010 13:30:43 +0000 (16:30 +0300)]
sdp: device_removal_lock should not be a spinlock because module removal takes a long time.
In order to prevent a situation that many CPUs are stack with read-spinlock
waiting for remove-device write-lock to be freed, I replaced the rw-spinlock
with rw-semaphore. That way the blocked processes goes to sleep and are not
blocking other processes.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Wed, 30 Jun 2010 14:38:33 +0000 (17:38 +0300)]
sdp: error value for sdp_set_error() should be negative.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Thu, 24 Jun 2010 15:27:46 +0000 (18:27 +0300)]
sdp: Fix for deadlock between sdp_connect and sdp_destroy_work.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Amir Vadai [Wed, 23 Jun 2010 10:43:55 +0000 (13:43 +0300)]
sdp: cleanup ssk->rx_sa when aborting incoming SrcAvail
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Wed, 23 Jun 2010 10:42:39 +0000 (13:42 +0300)]
sdp: fix compilation warnings in RH
use %z for size_t in printf's
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Wed, 23 Jun 2010 08:07:36 +0000 (11:07 +0300)]
sdp: sdp_destroy_qp should be protected in destroy work
sdp_destroy_work didn't take a lock before destorying QP
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Tue, 22 Jun 2010 11:29:31 +0000 (14:29 +0300)]
sdp: don't double free fmr
There are flows that try to free ssk->fmr twice.
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Tue, 22 Jun 2010 07:45:58 +0000 (10:45 +0300)]
sdp: Limit FMR resources
- Make FMR pool size a module parameter and set default value to a
smaller value (20 FMR's)
- Fallback to SendSM silently when can't allocate FMR
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Tue, 22 Jun 2010 07:40:54 +0000 (10:40 +0300)]
sdp: Fix for hangs/crashes in rare cases
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Eldad Zinger [Thu, 17 Jun 2010 06:57:57 +0000 (09:57 +0300)]
sdp: Fix for warning message when receiving with MSG_PEEK flag, and free skb that is not needed any more after all data was read from it.
'rx_sa->used', unlike 'offset', was not updated when MSG_PEEK flag was up and
that lead to the behavior that bytes considered to be available to copy while
the sequence offset showed that the bytes already consumed.
The solution is to discard any use of 'rx_sa->used' and use 'offset' instead.
An skb of SDP_MID_SRCAVAIL is not needed anymore when all its inline data was
consumed and the RDMA operation was canceled (due to MSG_PEEK flag).
This fix eliminates the warning message: "Trying to read beyond SKB".
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Thu, 17 Jun 2010 07:44:42 +0000 (10:44 +0300)]
sdp: On MSG_PEEK, no rdma_rd_complete should be sent.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Mon, 14 Jun 2010 12:49:19 +0000 (15:49 +0300)]
sdp: update for sdp_cma_handler() events debug messages.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Tue, 15 Jun 2010 05:08:22 +0000 (08:08 +0300)]
sdp: fix for handling multi iov's in ZCOPY.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Amir Vadai [Wed, 16 Jun 2010 08:54:11 +0000 (11:54 +0300)]
sdp: Fix iperf multistream hanging
When trying to send and no credits available. Sometime coulnd't get
credit update, because interrupts are turned off by default.
Added poll RX CQ to fix in this case.
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Wed, 16 Jun 2010 08:46:56 +0000 (11:46 +0300)]
sdp: Fix wrong use of ssk->sdp_disconnect
Due to miss-use of sdp_disconnect rx cq is not armed after disconnect is
sent
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Tue, 15 Jun 2010 13:00:15 +0000 (16:00 +0300)]
sdp: protect sdp_auto_moderation from device removal
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Eldad Zinger [Mon, 14 Jun 2010 10:03:16 +0000 (13:03 +0300)]
sdp: sdp_recvmsg() shouldn't handle SDP_MID_DISCONN when MSG_PEEK flag is up.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Mon, 14 Jun 2010 09:01:31 +0000 (12:01 +0300)]
sdp: added lock_sock() to sdp_poll()
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Amir Vadai [Sun, 13 Jun 2010 13:10:29 +0000 (16:10 +0300)]
sdp: Cleanedup some commented lines
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Thu, 10 Jun 2010 08:32:50 +0000 (11:32 +0300)]
sdp: Fix bad handling of small rcvbuf size in zcopy
- Do not send RdmaRdComp when no buffers
- Same for SendSm
- post at least 3 buffers in RX to have the minimal number of credits
- make purge_tx_ring ignore WR used by RDMA
- fixed a typo, to reschedule tx_cq_poll timer according to tx queue and
not to rx queue (!)
- Allow credit updates when less than half RX Q is filled
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Mon, 14 Jun 2010 10:08:36 +0000 (13:08 +0300)]
sdp: fix issues in orphan count
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Sun, 13 Jun 2010 12:51:01 +0000 (15:51 +0300)]
sdp: protect rx_ring access with a lock
because sdp_poll_rx_cq() is accessed both from interrupt and from user
context, need to protect it with a lock.
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Wed, 9 Jun 2010 09:40:23 +0000 (12:40 +0300)]
sdp: cleanup skb allocations
- Bad sizing of inline data on send sockets had implications on the
performance.
- All sent data is placed on the skb itself (unless accumulated by nagle)
- Do not count sdp header twice when allocating skb
added some likely/unlikely
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Mon, 7 Jun 2010 15:17:59 +0000 (18:17 +0300)]
sdp: Reuse buffers in rx ring
To improve latency in small packets - reuse already pinned and allocated
pages that wasn't used.
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Sun, 6 Jun 2010 09:23:55 +0000 (12:23 +0300)]
sdp: cpu affinity in sdpstats
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Tue, 1 Jun 2010 14:04:59 +0000 (17:04 +0300)]
sdp: use polling in rx
poll on RX whenever possible, use interrupts only before sleeping,
during graceful close or in zcopy.
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Eldad Zinger [Sun, 6 Jun 2010 10:48:32 +0000 (13:48 +0300)]
sdp: fix for a bug of lost refcnt in TCP_TIME_WAIT state.
OFED addons break semantics of cancel_delayed_work_sync(), like in SLES 10.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Sun, 6 Jun 2010 09:07:59 +0000 (12:07 +0300)]
sdp: BUG2038 - transmission goal size won't exceed SDP_MAX_PAYLOAD
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Tue, 1 Jun 2010 08:42:35 +0000 (11:42 +0300)]
sdp: SDP_WARN_ON defined to be used instead of WARN_ON, for better compatibility
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Sun, 23 May 2010 08:40:02 +0000 (11:40 +0300)]
sdp: new debug function added, minor debug message change.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Sun, 30 May 2010 11:03:43 +0000 (14:03 +0300)]
sdp: device removal rewritten for a stability improvement.
main changes:
1. device_removal_lock is better used.
2. sdp_dev is marked NULL in order to prevent new sockets born to the removed
device.
3. new timeout functionality used when a reference count was taken for the CMA
to return, but the CMA won't be invoked because rdma_id was destroyed.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Tue, 18 May 2010 10:35:56 +0000 (13:35 +0300)]
sdp: unnecessary local variable removed, 'const' declarations added
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Tue, 18 May 2010 10:32:27 +0000 (13:32 +0300)]
sdp: tx timer is deleted when sockets goes to TCP_CLOSE
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Tue, 18 May 2010 08:48:54 +0000 (11:48 +0300)]
sdp: canceled a call to sdp_desroy_work() on send completion with error
No need to destroy resources after send completion with error.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Tue, 18 May 2010 08:34:28 +0000 (11:34 +0300)]
sdp: unnecessary wait-queue removed from sdp_sock structure.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Tue, 4 May 2010 09:11:04 +0000 (12:11 +0300)]
sdp: unnecessary local variable removed.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Tue, 4 May 2010 09:05:56 +0000 (12:05 +0300)]
sdp: debug message for reference count changed from CM_TW to CMA
This debug message marks that the sdp_cma_handler() is expected to be invoked.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Tue, 4 May 2010 08:43:29 +0000 (11:43 +0300)]
sdp: BUG2031 - sdp_cma_handler() won't be invoked after last ref count removed
rdma_id will be destructed in cases where the sdp_cma_handler() is not required any more.
This will disable asynchronous-events handling after the last reference count removed.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Amir Vadai [Mon, 26 Apr 2010 11:53:23 +0000 (14:53 +0300)]
sdp: fix a leak when ib_post_xxx fail + small fixes
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Eldad Zinger [Mon, 26 Apr 2010 07:48:48 +0000 (10:48 +0300)]
sdp: on device removal, ref count taken so that socket won't be destructed
On device removal, socket resources that are based on device are destroyed,
but the socket itself will be destroyed later, upon user request.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Amir Vadai [Thu, 22 Apr 2010 08:26:57 +0000 (11:26 +0300)]
sdp: use max number of SGE from HW capabilities
Instead of using hard coded max number of SGE's take
it from device capabilities.
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Sun, 25 Apr 2010 08:55:29 +0000 (11:55 +0300)]
sdp: Fix a hang when ib_post_recv is failed
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Sun, 25 Apr 2010 08:50:44 +0000 (11:50 +0300)]
sdp: fix compilation warning on debug prints
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Eldad Zinger [Thu, 22 Apr 2010 07:34:59 +0000 (10:34 +0300)]
sdp: sdp_bzcopy_thresh module parameter removal
Field [bzcopy_thresh] inside 'struct sdp_sock' changed to [zcopy_thresh] and
the ability to disable zcopy per-socket was added.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Sun, 18 Apr 2010 13:56:03 +0000 (16:56 +0300)]
sdp: BUG2017 - better initialization implementation for ssk->nagle_timer
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Sun, 18 Apr 2010 11:34:33 +0000 (14:34 +0300)]
sdp: fix for brutal device removing
Kernel always crashed in the following test case:
user program: socket+bind+listen+accept. socket accpted.
shell: rmmod mlx4_ib
user program: close <<< CRASH
The fix closes any socket that its ib_device is the device being removed.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Amir Vadai [Thu, 15 Apr 2010 08:57:11 +0000 (11:57 +0300)]
sdp: Don't try to allocate FMR larger than RLIMIT_MEMLOCK
During ZCopy. If don't have CAP_IPC_LOCK capability and current
max number of locked pages is smaller than the buffer size, split
the send into small fragments.
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Thu, 15 Apr 2010 08:52:19 +0000 (11:52 +0300)]
sdp: Don't count sdp header twice when calculating size_goal
sizeof(struct sdp_bsdh) is included inside skb->len. Ignore it
when calculating maximum payload of the skb.
This mistake caused every BCopy send of 32K (and its multiples) to
be split and thus got bad performance.
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Eldad Zinger [Tue, 13 Apr 2010 10:39:41 +0000 (13:39 +0300)]
sdp: timeout for abortive close updated
SDP_FIN_WAIT_TIMEOUT updated from 10[sec] to 60[sec] to comply with TCP
TCP_FIN_TIMEOUT.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Amir Vadai [Mon, 12 Apr 2010 12:42:32 +0000 (15:42 +0300)]
sdp: module parameter to disable SDP over ROCEE
Since ROCEE added, SDP always try to connect, even
if link layer of type Ethernet. This make 'both' mode
in libsdp useless.
Added a module paramter to disable it by default
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Eldad Zinger [Thu, 8 Apr 2010 07:09:37 +0000 (10:09 +0300)]
sdp: added differentiation between bind failures of sdp.
When bind()ing in mode 'BOTH', bind(sdp_sock) might fail if:
1. the IP&port is already bounded.
2. the IP is not part of IB network.
previous implementation returned errno=EADDRINUSE either way.
Only the first case should fail the bind(), the second is legitimate
because the TCP socket will hanle the connection.
This fix corresponds to a fix in libsdp.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Thu, 18 Mar 2010 08:53:56 +0000 (10:53 +0200)]
sdp: BUG1727 - there is no point of using zcopy when credits are not available.
if credits are not available, data won't be transferred anyway,
so it would be better to use bcopy.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Wed, 31 Mar 2010 13:02:03 +0000 (16:02 +0300)]
sdp: BUG1992 - enable transmission of credits update when tx_credits == 1
According to spec, if one credit is available, we can only send messages that
provide additional credits and also do not contain data payload.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Wed, 31 Mar 2010 12:27:38 +0000 (15:27 +0300)]
sdp: unnecessary 'if' statement canceled.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Thu, 18 Mar 2010 11:31:08 +0000 (13:31 +0200)]
sdp: BUG1727 - fixed select(2) behavior on a new nonblocking socket.
when calling for select(2) after socket(2) on a nonblocking socket,
select(2) should return 'writable'.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Eldad Zinger [Wed, 17 Mar 2010 13:24:28 +0000 (15:24 +0200)]
sdp: BUG1727 - sdp_destroy_work() and sdp_connect() interfere with each other.
This fix was done in order to make sure that sdp_destroy_work() is done
before sdp_connect() is active.
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
Amir Vadai [Sun, 14 Mar 2010 14:36:32 +0000 (16:36 +0200)]
sdp: support iovlen > 1 in zcopy
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Sun, 14 Mar 2010 14:35:38 +0000 (16:35 +0200)]
sdp: make sdp_socket.h available to user applications
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Thu, 1 Apr 2010 07:28:37 +0000 (10:28 +0300)]
sdp: enable FMR pool cache
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Thu, 25 Feb 2010 22:50:29 +0000 (00:50 +0200)]
sdp: Stop SA Cancel timeout when getting SendSM/RdmaRdCompl
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Thu, 25 Feb 2010 09:43:03 +0000 (11:43 +0200)]
sdp: SendSM wasn't sent sometimes after getting SrcAvailCancel
* skb was freed if rx_sa is aborted - preventing SendSM
to be sent.
* Didn't update rx_sa->used in case of SrcAvailCancel
and therefore not sending RdmaRdCompl.
This also caused the next read to fail because offset
wasn't updated
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Wed, 24 Feb 2010 11:58:35 +0000 (13:58 +0200)]
sdp: Send SendSM from recvmsg context and not from interrupt
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Wed, 24 Feb 2010 08:59:31 +0000 (10:59 +0200)]
sdp: Fix bug in crossing SrcAvail
* Handle RdmaRdCompl in interrupt, before splitted to two Q's
This way the handling is sequencial, and no race could occure
between RdmaRdCompl and SrcAvailCancel
* Fixed an error when checking that RdmaRdCompl is not for
old SrcAvail
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Wed, 24 Feb 2010 08:39:54 +0000 (10:39 +0200)]
sdp: Add detailed ZCopy aborted send statistics
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Tue, 23 Feb 2010 08:02:59 +0000 (10:02 +0200)]
sdp: Prevent kernel crash if device init fails (plus bonus fix)
If sdp_add_device() fails, there is no client data stored in the IB device,
leading to a kernel crash when a connection is being established. Fix this
by rejecting connections when the device is not initialized.
Also, fix a bad goto target in an error case early in sdp_init_qp().
Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com>
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Thu, 18 Feb 2010 12:03:27 +0000 (14:03 +0200)]
sdp: Fix crossing SrcAvail handling
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Tue, 16 Feb 2010 15:36:00 +0000 (17:36 +0200)]
sdp: Fix bugs in huge paged HW's
* Protect some constants that are based on PAGE_SIZE:
- FMR size
- xmit_goal
* renamed SDP_HEAD_SIZE => SDP_SKB_HEAD_SIZE
* removed unneeded special IA64 code due to changes here
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Thu, 4 Feb 2010 15:31:52 +0000 (17:31 +0200)]
sdp: BUG1899 - fix warnings on RH4.8 by avoiding multiple deletions on the same timer.
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Sun, 24 Jan 2010 15:12:34 +0000 (17:12 +0200)]
sdp: must use ib_sg_dma_*, not sg_dma_* for mapping
This fixes OFED bug 1895, althoug some warnings are still generated,
when running qperf sdp_bw with large sizes (using zcopy), on the
truescale adapters.
Signed-off-by: Dave Olson <dave.olson@qlogic.com>
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Thu, 31 Dec 2009 09:25:39 +0000 (11:25 +0200)]
sdp: use IB_CQ_VECTOR_LEAST_ATTACHED for cq's
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Wed, 30 Dec 2009 13:43:10 +0000 (15:43 +0200)]
sdp: make statistics per cpu
- Caused lots of cache misses during multi stream traffic
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Wed, 30 Dec 2009 08:10:09 +0000 (10:10 +0200)]
sdp: added statistics instead of prints
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Sun, 27 Dec 2009 09:08:26 +0000 (11:08 +0200)]
sdp: Fix partial ZCopy send bug + recvmsg with MSG_PEEK support
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Sun, 27 Dec 2009 10:51:16 +0000 (12:51 +0200)]
sdp: Set a lower limit to ZCopy threshold
No need to use ZCopy, when the whole packet is sent as SrcAvail payload
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Tue, 22 Dec 2009 16:13:20 +0000 (18:13 +0200)]
sdp: Fix ZCopy sink not working
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Sun, 20 Dec 2009 11:23:28 +0000 (13:23 +0200)]
sdp: fixed compilation warning
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Sun, 20 Dec 2009 09:45:37 +0000 (11:45 +0200)]
sdp: ZCopy SrcAvail payload size limit fixed + fix ZCopy rx for small packets
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Sun, 13 Dec 2009 07:52:16 +0000 (09:52 +0200)]
sdp: small spec compliancy fixes in code
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Mon, 7 Dec 2009 13:31:58 +0000 (15:31 +0200)]
sdp: fix lockup on mthca cards
- rx_irq called sdp_sock_queue_rcv_skb() who calls
sk->sk_data_ready() == sock_def_readable
- sock_def_readable() can't be called from interrupt context
because it takes read_lock (the writer to the lock uses
write_lock_bh)
- moved rx processing to tasklet
sock_def_readable was trying to take read_lock
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Wed, 2 Dec 2009 14:35:51 +0000 (16:35 +0200)]
sdp: fix a warning in RH4.0
never del uninitialized timer
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Wed, 2 Dec 2009 13:32:03 +0000 (15:32 +0200)]
sdp: Fix Hello Ack Header to be according to spec
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Wed, 2 Dec 2009 07:06:37 +0000 (09:06 +0200)]
sdp: make /proc/net/sdpprf on only if debug data is on
This way, in performance measurements it is off and on regression
it is on.
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Mon, 30 Nov 2009 15:45:13 +0000 (17:45 +0200)]
sdp: Cleanup ZCopy page registrations
- use ib_umem_get instead of get_user_pages
- Use FMR for RDMA reads
- ZCopy sender side to use ib_umem
- send remainder of ZCopy with BCopy
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Mon, 30 Nov 2009 14:14:14 +0000 (16:14 +0200)]
sdp: cancel_work_sync on 2.6.22 didn't return a value
Since the return value was used for debug message only,
gave up this message to make backports easier.
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Sun, 29 Nov 2009 12:23:58 +0000 (14:23 +0200)]
sdp: changed important prints in zcopy to warning instead of debug
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Thu, 26 Nov 2009 15:10:57 +0000 (17:10 +0200)]
sdp: flush rx_comp_work before destroying socket + make dreq_wait_timeout_work flushing synced
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Thu, 26 Nov 2009 15:28:58 +0000 (17:28 +0200)]
sdp: cleaned up debug prints
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Wed, 25 Nov 2009 12:59:46 +0000 (14:59 +0200)]
sdp: take a reference during zcopy_send
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Wed, 25 Nov 2009 13:06:01 +0000 (15:06 +0200)]
sdp: Disable BZcopy + Enable ZCopy
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Wed, 25 Nov 2009 08:26:59 +0000 (10:26 +0200)]
sdp: changed some warnings into debug prints
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Tue, 24 Nov 2009 09:01:05 +0000 (11:01 +0200)]
sdp: fixed BUG1826 part 1 - schedule while atomic
Allocate skb according to context
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>