]> www.infradead.org Git - users/jedix/linux-maple.git/log
users/jedix/linux-maple.git
9 years agosdp: SendSM wasn't sent sometimes after getting SrcAvailCancel
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>
9 years agosdp: Send SendSM from recvmsg context and not from interrupt
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>
9 years agosdp: Fix bug in crossing SrcAvail
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>
9 years agosdp: Add detailed ZCopy aborted send statistics
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>
9 years agosdp: Prevent kernel crash if device init fails (plus bonus fix)
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>
9 years agosdp: Fix crossing SrcAvail handling
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>
9 years agosdp: Fix bugs in huge paged HW's
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>
9 years agosdp: BUG1899 - fix warnings on RH4.8 by avoiding multiple deletions on the same timer.
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>
9 years agosdp: must use ib_sg_dma_*, not sg_dma_* for mapping
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>
9 years agosdp: use IB_CQ_VECTOR_LEAST_ATTACHED for cq's
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>
9 years agosdp: make statistics per cpu
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>
9 years agosdp: added statistics instead of prints
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>
9 years agosdp: Fix partial ZCopy send bug + recvmsg with MSG_PEEK support
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>
9 years agosdp: Set a lower limit to ZCopy threshold
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>
9 years agosdp: Fix ZCopy sink not working
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>
9 years agosdp: fixed compilation warning
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>
9 years agosdp: ZCopy SrcAvail payload size limit fixed + fix ZCopy rx for small packets
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>
9 years agosdp: small spec compliancy fixes in code
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>
9 years agosdp: fix lockup on mthca cards
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>
9 years agosdp: fix a warning in RH4.0
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>
9 years agosdp: Fix Hello Ack Header to be according to spec
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>
9 years agosdp: make /proc/net/sdpprf on only if debug data is on
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>
9 years agosdp: Cleanup ZCopy page registrations
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>
9 years agosdp: cancel_work_sync on 2.6.22 didn't return a value
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>
9 years agosdp: changed important prints in zcopy to warning instead of debug
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>
9 years agosdp: flush rx_comp_work before destroying socket + make dreq_wait_timeout_work flushi...
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>
9 years agosdp: cleaned up debug prints
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>
9 years agosdp: take a reference during zcopy_send
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>
9 years agosdp: Disable BZcopy + Enable ZCopy
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>
9 years agosdp: changed some warnings into debug prints
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>
9 years agosdp: fixed BUG1826 part 1 - schedule while atomic
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>
9 years agosdp: Fixed annoying warning by memtrack
Amir Vadai [Tue, 24 Nov 2009 07:33:53 +0000 (09:33 +0200)]
sdp: Fixed annoying warning by memtrack

kzalloc done in sdp_seq_open is freed by the system in a function
that memtrack can't see. Therefore it printed false warning.

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fixed BUG1796 - running out of memory on rx
Amir Vadai [Tue, 24 Nov 2009 07:32:39 +0000 (09:32 +0200)]
sdp: fixed BUG1796 - running out of memory on rx

rcv queue could grow endlessly because minimal RX buffers in QP
was set to SDP_MIN_TX_CREDITS + 1 - so there always were credits
available for the sender.

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fixed sparse warnings
Amir Vadai [Mon, 23 Nov 2009 11:29:41 +0000 (13:29 +0200)]
sdp: fixed sparse warnings

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: removed unneeded list initialization - percpu_counter might not have this memeber
Amir Vadai [Sun, 11 Oct 2009 10:16:27 +0000 (12:16 +0200)]
sdp: removed unneeded list initialization - percpu_counter might not have this memeber

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: get max send sge from device capabilities instead of hard coded
Amir Vadai [Mon, 7 Sep 2009 13:02:27 +0000 (16:02 +0300)]
sdp: get max send sge from device capabilities instead of hard coded

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: incorrect SDP_FMR_SIZE on 32-bit machines
Jack Morgenstein [Sun, 30 Aug 2009 14:16:13 +0000 (17:16 +0300)]
sdp: incorrect SDP_FMR_SIZE on 32-bit machines

On 32-bit machines, sizeof (u64 *) is 4 bytes (size of a ***pointer***).
However, the max SDP FMR pool size should be PAGE_SIZE / sizeof(an mtt entry) --
and mtt entries are u64's (or __be64's).

This resulted in SDP requesting twice as many entries per pool on 32-bit machines
as could fit on a single page -- with the result that the fmr pool allocation failed
at driver startup.

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
9 years agosdp: check if sdp device is actually present in sdp_remove_one
Jack Morgenstein [Sun, 30 Aug 2009 14:24:07 +0000 (17:24 +0300)]
sdp: check if sdp device is actually present in sdp_remove_one

If sdp fails to initialize at driver startup for any reason,
the device is still registered with the ib_core, but there will be
no client data (i.e., ib_set_client_data() will not be called, and all
kernel resources are de-allocated).

On removal, ib_get_client_data() will return NULL in this case -- and this
must be tested for -- or we will get a kernel Oops for a NULL pointer
dereference.

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
9 years agosdp: Process tx completions from sendmsg context. arm tx cq when needed
Amir Vadai [Sun, 23 Aug 2009 15:28:39 +0000 (18:28 +0300)]
sdp: Process tx completions from sendmsg context. arm tx cq when needed

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: More code cleanup and ZCopy bugs fixes
Amir Vadai [Thu, 20 Aug 2009 11:20:57 +0000 (14:20 +0300)]
sdp: More code cleanup and ZCopy bugs fixes

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: code cleanup
Amir Vadai [Mon, 17 Aug 2009 10:37:18 +0000 (13:37 +0300)]
sdp: code cleanup

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fix cross SrcAvail deadlock
Amir Vadai [Thu, 13 Aug 2009 13:00:40 +0000 (16:00 +0300)]
sdp: fix cross SrcAvail deadlock

The sending SrcAvail will give up and send SrcAvailCancel.

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: Fix ZCopy compatability issues
Amir Vadai [Tue, 11 Aug 2009 10:57:48 +0000 (13:57 +0300)]
sdp: Fix ZCopy compatability issues

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fix memory leak in bzcopy
Amir Vadai [Sun, 16 Aug 2009 13:07:28 +0000 (16:07 +0300)]
sdp: fix memory leak in bzcopy

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fixed signedness warning in compilation + don't use getnstimeofday
Amir Vadai [Sun, 9 Aug 2009 08:15:44 +0000 (11:15 +0300)]
sdp: fixed signedness warning in compilation + don't use getnstimeofday

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: split very big tx buffer into smaller sends
Amir Vadai [Wed, 29 Jul 2009 15:20:10 +0000 (18:20 +0300)]
sdp: split very big tx buffer into smaller sends

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: QP should be destroyed before its CQs
Amir Vadai [Wed, 29 Jul 2009 15:08:43 +0000 (18:08 +0300)]
sdp: QP should be destroyed before its CQs

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fix driver to accept credit updates after RCV_SHUTDOWN
Amir Vadai [Mon, 27 Jul 2009 10:34:35 +0000 (13:34 +0300)]
sdp: fix driver to accept credit updates after RCV_SHUTDOWN

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: Add support for ZCopy combined mode - RDMA Read
Amir Vadai [Sun, 12 Jul 2009 12:32:36 +0000 (15:32 +0300)]
sdp: Add support for ZCopy combined mode - RDMA Read

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: removed unnecessary statistics that caused compilation errors on powerpc
Amir Vadai [Wed, 22 Jul 2009 07:36:01 +0000 (10:36 +0300)]
sdp: removed unnecessary statistics that caused compilation errors on powerpc

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fix some warning and bugs in porting to ofed 1.5
Amir Vadai [Wed, 15 Jul 2009 09:08:06 +0000 (12:08 +0300)]
sdp: fix some warning and bugs in porting to ofed 1.5

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fix bad credits advertised when connection initiated
Amir Vadai [Wed, 1 Jul 2009 16:38:06 +0000 (19:38 +0300)]
sdp: fix bad credits advertised when connection initiated

This enables removing the ugly post credits after connection
establishment

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: Fix memory leak in bzcopy
Amir Vadai [Wed, 1 Jul 2009 16:33:07 +0000 (19:33 +0300)]
sdp: Fix memory leak in bzcopy

Thanks to Lars Ellenberg for finding the leak

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fix wrong credit advertised in Hello MID
Amir Vadai [Wed, 1 Jul 2009 14:00:29 +0000 (17:00 +0300)]
sdp: fix wrong credit advertised in Hello MID

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fix compilation error on 2.6.30
Amir Vadai [Sun, 28 Jun 2009 20:33:46 +0000 (23:33 +0300)]
sdp: fix compilation error on 2.6.30

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fixed coding style
Amir Vadai [Sun, 21 Jun 2009 14:13:35 +0000 (17:13 +0300)]
sdp: fixed coding style

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: IB_CQ_VECTOR_LEAST_ATTACHED is not supported yet in 1.5 tree
Amir Vadai [Tue, 16 Jun 2009 08:04:50 +0000 (11:04 +0300)]
sdp: IB_CQ_VECTOR_LEAST_ATTACHED is not supported yet in 1.5 tree

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fixed div by zero in sdpstats
Amir Vadai [Tue, 9 Jun 2009 06:25:12 +0000 (09:25 +0300)]
sdp: fixed div by zero in sdpstats

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: make interrupt moderation adaptive
Amir Vadai [Mon, 8 Jun 2009 14:02:20 +0000 (17:02 +0300)]
sdp: make interrupt moderation adaptive

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: arm nagle timer on not sent packet instead of on sent packet
Amir Vadai [Thu, 4 Jun 2009 14:46:19 +0000 (17:46 +0300)]
sdp: arm nagle timer on not sent packet instead of on sent packet

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: two bug fixes
Amir Vadai [Thu, 4 Jun 2009 14:42:13 +0000 (17:42 +0300)]
sdp: two bug fixes

fix bad HELLO/HELLO_ACK buffer size matching
let recvmsg do posts on data packets too

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: make bzcopy poll timeout in jiffies instead of iterations count
Amir Vadai [Thu, 4 Jun 2009 10:52:34 +0000 (13:52 +0300)]
sdp: make bzcopy poll timeout in jiffies instead of iterations count

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fix bad handling for not aligned buffers in bzcopy + removed poll at end of...
Amir Vadai [Thu, 4 Jun 2009 09:28:33 +0000 (12:28 +0300)]
sdp: fix bad handling for not aligned buffers in bzcopy + removed poll at end of send

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fix RX to work well on sink side + cosmetics changes
Amir Vadai [Wed, 3 Jun 2009 06:34:49 +0000 (09:34 +0300)]
sdp: fix RX to work well on sink side + cosmetics changes

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: TX from 1 context only. RX with minimal context switches
Amir Vadai [Tue, 26 May 2009 16:16:56 +0000 (19:16 +0300)]
sdp: TX from 1 context only. RX with minimal context switches

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: don't arm nagle timer for every sent packet
Amir Vadai [Sun, 24 May 2009 07:26:08 +0000 (10:26 +0300)]
sdp: don't arm nagle timer for every sent packet

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: remove leftover from debugging
Amir Vadai [Mon, 18 May 2009 12:29:54 +0000 (15:29 +0300)]
sdp: remove leftover from debugging

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: Do not nagle BZCopy packets
Amir Vadai [Mon, 18 May 2009 11:45:18 +0000 (14:45 +0300)]
sdp: Do not nagle BZCopy packets

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: don't do nagle on first packet
Amir Vadai [Thu, 14 May 2009 14:10:33 +0000 (17:10 +0300)]
sdp: don't do nagle on first packet

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fix backports
Amir Vadai [Thu, 14 May 2009 11:54:07 +0000 (14:54 +0300)]
sdp: fix backports

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: process RX CQ from interrupt
Amir Vadai [Wed, 13 May 2009 11:37:13 +0000 (14:37 +0300)]
sdp: process RX CQ from interrupt

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: created sdp_rx and sdp_tx
Amir Vadai [Sun, 26 Apr 2009 12:31:27 +0000 (15:31 +0300)]
sdp: created sdp_rx and sdp_tx

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: /proc/net/sdpprf - performance utilities
Amir Vadai [Sun, 26 Apr 2009 07:55:26 +0000 (10:55 +0300)]
sdp: /proc/net/sdpprf - performance utilities

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: no tx interrupts
Amir Vadai [Tue, 21 Apr 2009 14:18:37 +0000 (17:18 +0300)]
sdp: no tx interrupts

poll tx cq with timer instead of interrupts

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: move tx_ring into dedicated structre + many cosmetic fixes
Amir Vadai [Tue, 21 Apr 2009 13:56:37 +0000 (16:56 +0300)]
sdp: move tx_ring into dedicated structre + many cosmetic fixes

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fixed compilation error when statistics turned off
Amir Vadai [Tue, 21 Apr 2009 13:23:25 +0000 (16:23 +0300)]
sdp: fixed compilation error when statistics turned off

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: cosmetics changes
Amir Vadai [Tue, 21 Apr 2009 13:07:23 +0000 (16:07 +0300)]
sdp: cosmetics changes

* renamed ssk->bufs into ssk->tx_credits
* renamed SDP_MIN_BUFS into SDP_MIN_TX_CREDITS
* get bz struct from skb in a macro

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: Interrupts performance fixes
Amir Vadai [Tue, 21 Apr 2009 12:38:27 +0000 (15:38 +0300)]
sdp: Interrupts performance fixes

* use rcvbuf_initial - fix server to use rcvbuf_initial_size as initial
* hw interrupt moderation
* fix interrupts statistics
* fix max frags bug

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: added /proc/net/sdpstats + packets dump
Amir Vadai [Sun, 5 Apr 2009 15:22:45 +0000 (18:22 +0300)]
sdp: added /proc/net/sdpstats + packets dump

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: BUG1311 Netpipe fails with a IB_WC_LOC_LEN_ERR.
Amir Vadai [Tue, 28 Apr 2009 06:40:10 +0000 (09:40 +0300)]
sdp: BUG1311 Netpipe fails with a IB_WC_LOC_LEN_ERR.

This problem is seen when the receive buffer or the receive buffer fragments
are smaller than the senders buffer. If the sender is using 64KB pages
and supports a sk fragment of 64KB it may send fragments that are a full 64KB
in length causing the receiver to generate an IB_WC_LOC_LEN_ERR. This patch
makes two changes:

If the kernel does not support a full 64KB fragment it will reject resize
requests over 32K. (On older kernels a fragment size is defined as a U16)

If a kernel supports a 64KB fragment then it allows a full 64KB receive
fragment to be used.

Signed-off-by: David Wilder <dwilder@us.ibm.com>
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: change orphan_count and sockets_allocated from atomic_t to percpu_counter
Nicolas Morey-Chaisemartin [Wed, 29 Apr 2009 14:23:04 +0000 (16:23 +0200)]
sdp: change orphan_count and sockets_allocated from atomic_t to percpu_counter

Fixed SDP to work on 2.6.29+
As percpu_counter are huge they can be allocated on the stack without causing sdp module to crash.
Both variable are now dynamically allocated at module init.

Signed-off-by: Nicolas Morey-Chaisemartin <nicolas.morey-chaisemartin@ext.bull.net>
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: BUG1472 - clean socket timeouts and refcount when device is removed
Amir Vadai [Tue, 17 Mar 2009 15:38:48 +0000 (17:38 +0200)]
sdp: BUG1472 - clean socket timeouts and refcount when device is removed

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fixed typo Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Tue, 10 Mar 2009 07:15:57 +0000 (09:15 +0200)]
sdp: fixed typo Signed-off-by: Amir Vadai <amirv@mellanox.co.il>

9 years agosdp: BUG1502 - scheduling while atomic
Amir Vadai [Tue, 17 Feb 2009 09:04:09 +0000 (11:04 +0200)]
sdp: BUG1502 - scheduling while atomic

Don't destory qp from interrupt context - do it in work queue

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: small typo fixed
Amir Vadai [Thu, 29 Jan 2009 06:40:09 +0000 (08:40 +0200)]
sdp: small typo fixed

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agoSDP: BUG1309 - SDP close is slow + fix recv buffer initial size setting
Amir Vadai [Thu, 8 Jan 2009 11:00:16 +0000 (13:00 +0200)]
SDP: BUG1309 - SDP close is slow + fix recv buffer initial size setting

sdp_post_recv is called when the QP is closed. therefore it tries to post
recv buffers without success till the socket is destructed.

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agoSDP: BUG1087 - fixed recovery from failing rdma_create_qp()
Amir Vadai [Mon, 8 Dec 2008 15:09:01 +0000 (17:09 +0200)]
SDP: BUG1087 - fixed recovery from failing rdma_create_qp()

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agoSDP: Fix to limit max buffer size in sdp_resize_buffers on IA64
Amir Vadai [Tue, 2 Dec 2008 13:01:26 +0000 (15:01 +0200)]
SDP: Fix to limit max buffer size in sdp_resize_buffers on IA64

Fix for bug 1311
https://bugs.openfabrics.org/show_bug.cgi?id=1311

Signed-off-by: Nicolas Morey-Chaisemartin <nicolas.morey-chaisemartin@ext.bull.net>
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: BUG1429 - Sdp doesnt close resources
Amir Vadai [Tue, 2 Dec 2008 11:34:09 +0000 (13:34 +0200)]
sdp: BUG1429 - Sdp doesnt close resources

When called from sdp_dreq_timeout() - not holding ref count for
timewait exit - when IB is already teared down.

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: BUG1047 - crash in sdp_destroy_qp() when no memory
Amir Vadai [Mon, 1 Dec 2008 12:49:07 +0000 (14:49 +0200)]
sdp: BUG1047 - crash in sdp_destroy_qp() when no memory

fix initialization of sdp socket special attributes after sk_clone()

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agoSDP: BUG1391 - bugs in the zero-copy send code
Amir Vadai [Mon, 17 Nov 2008 08:11:27 +0000 (10:11 +0200)]
SDP: BUG1391 - bugs in the zero-copy send code

* fix sdp_bz_setup() code to handle the case of kernel data segment correctly (kernel sockets)
* make sdp_bz_setup() pass ENOMEM, EFAULT or other errors to sendmsg().
* Fix: the deallocation of bz descriptor in sendmsg() is not handled properly -- it is allocated many times, but freed once
* Fix: sdp_bzcopy_get() code does not raise reference count for all  pages in the bz descriptor (only the "partial" pages will get the count raised).
  However, the send completion code will call put_page() on all entries, leading to a crash for page-aligned transfers.

Signed-off-by: Constantine Gavrilov <constantine.gavrilov@gmail.com>
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agoSDP: BUG1348 - a socket is left after netper on the server side
Amir Vadai [Thu, 20 Nov 2008 13:02:46 +0000 (15:02 +0200)]
SDP: BUG1348 - a socket is left after netper on the server side

Removed unneccessary sock_hold from sdp_shutdown. This ref count
will be taken by close(). no need to take it twice.

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agoSDP: BUG1348 - sockets are left in CLOSE state with ref count > 0
Amir Vadai [Thu, 20 Nov 2008 10:56:39 +0000 (12:56 +0200)]
SDP: BUG1348 - sockets are left in CLOSE state with ref count > 0

Removed unnecessary sock_hold() when a CM_REJECT arrives before TCP_ESTABLISHED state.
This happend in the server side when after getting CM_REQ and answering with CM_REP a CM_REJ
arrived.
The sock_hold that was removed assumed that there will be a timewait state - but according to
the spec, the state changes back to LISTEN without TIMEWAIT.

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agoSDP: BUG1402 - kernel panic when sdp_fin arrive in the middle of closing a socket
Amir Vadai [Thu, 20 Nov 2008 09:34:38 +0000 (11:34 +0200)]
SDP: BUG1402 - kernel panic when sdp_fin arrive in the middle of closing a socket

This could happen theoretically so there is no need for the BUG()

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agoSDP: BUG1343 - Polygraph test crashes machine
Amir Vadai [Tue, 18 Nov 2008 13:41:15 +0000 (15:41 +0200)]
SDP: BUG1343 - Polygraph test crashes machine

No socket reference was taken before starting DREQ timeout.
cancel delayed work only remove the work if it is in the timer stage
before entered to the workqueue.
Because of that, sdp_dreq_timeout_work could be in the work queue
after the socket was destructed. and when the socket was reused
and the inlined work structre was resetted things went wrong.

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: timeout when waiting for sdp_fin
Amir Vadai [Mon, 27 Oct 2008 16:11:51 +0000 (18:11 +0200)]
sdp: timeout when waiting for sdp_fin

fixes BUG1305:
https://bugs.openfabrics.org/show_bug.cgi?id=1305

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: fixed sparse warning Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Amir Vadai [Mon, 27 Oct 2008 14:45:29 +0000 (16:45 +0200)]
sdp: fixed sparse warning Signed-off-by: Amir Vadai <amirv@mellanox.co.il>

9 years agosdp: do nothing when getting FIN after IB teardown started
Amir Vadai [Sun, 26 Oct 2008 13:07:38 +0000 (15:07 +0200)]
sdp: do nothing when getting FIN after IB teardown started

Fixes bug at:
https://bugs.openfabrics.org/show_bug.cgi?id=1302

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: Limit skb frag size to 64K-1
Amir Vadai [Sun, 26 Oct 2008 09:43:43 +0000 (11:43 +0200)]
sdp: Limit skb frag size to 64K-1

When 64K pages are in use, the skb_frag size can become larger
than the skb_frag can address. An skb_frag's max size is 64K-1.
This patch defines SDP_MAX_PAYLOAD as 64K - SDP_HEADER_SIZE.
The patch changes sdp_post_recv() and sdp_sendmsg() to use the smaller of
PAGE_SIZE or SDP_MAX_PAYLOAD as it segment size.

This fix the bug here:
https://bugs.openfabrics.org/show_bug.cgi?id=1300

Signed-off-by: David Wilder <dwilder@us.ibm.com>
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
9 years agosdp: more verbose debugging messages for sock_put and sock_head
Amir Vadai [Sun, 19 Oct 2008 14:59:23 +0000 (16:59 +0200)]
sdp: more verbose debugging messages for sock_put and sock_head

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>