Re: [PATCH v2 10/15] opensm: Add opensm option to specify file name for extra torus-2QoS configuration information.

2010-06-10 Thread Sasha Khapyorsky
Hi Jim, On 11:06 Wed 10 Mar , Jim Schutt wrote: Signed-off-by: Jim Schutt jasc...@sandia.gov --- opensm/include/opensm/osm_base.h | 18 ++ opensm/include/opensm/osm_subnet.h |5 + opensm/opensm/main.c |9 +

[PATCH v3] opensm/osmeventplugin: added new events to monitor SM

2010-06-10 Thread Yevgeny Kliteynik
Hi Sasha, Adding new events that allow event plug-in to see when SM finishes heavy sweep and routing configuration, when it updates dump files, when it is no longer master, and when SM port is down: OSM_EVENT_ID_HEAVY_SWEEP_DONE OSM_EVENT_ID_UCAST_ROUTING_DONE OSM_EVENT_ID_ENTERING_STANDBY

[Patch v2] opensm/main.c: force stdout to be line-buffered

2010-06-10 Thread Yevgeny Kliteynik
When stdout is assigned to a terminal, it is line-buffered. But when opensm's stdout is redirected to a file, stdout becomes block-buffered, which means that '\n' won't cause the buffer to be flushed. Forcing stdout to always be line-buffered and to have a more predictable behavior when used as

[PATCH resend] opensm/osm_sa_path_record.c: adding wrapper for pr_rcv_get_path_parms()

2010-06-10 Thread Yevgeny Kliteynik
Adding non-static wrapper function for pr_rcv_get_path_parms() function to enable calling path record calculation function from outside this file. Signed-off-by: Yevgeny Kliteynik klit...@dev.mellanox.co.il --- opensm/opensm/osm_sa_path_record.c | 12 1 files changed, 12

Re: [PATCH v2 10/15] opensm: Add opensm option to specify file name for extra torus-2QoS configuration information.

2010-06-10 Thread Jim Schutt
Hi Sasha, Thanks for taking a look at this. On Thu, 2010-06-10 at 05:25 -0600, Sasha Khapyorsky wrote: Hi Jim, On 11:06 Wed 10 Mar , Jim Schutt wrote: Signed-off-by: Jim Schutt jasc...@sandia.gov --- opensm/include/opensm/osm_base.h | 18 ++

[PATCH] return no path when path does not exist

2010-06-10 Thread Eli Dorfman (Voltaire)
return OSM_NO_PATH (instead of port num) when path does not exists. this will also be reported as error in the log. Signed-off-by: Eli Dorfman e...@voltaire.com --- opensm/opensm/osm_switch.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/opensm/opensm/osm_switch.c

converting ib-mgmt scripts to executables

2010-06-10 Thread Hefty, Sean
Sasha, Before we do the work, would there be any issue converting a couple of the ib-diag scripts to executables? Specifically, we'd like to have ibchecknet and ibcheckerrors functionality available on Windows. - Sean -- To unsubscribe from this list: send the line unsubscribe linux-rdma in

[PATCH/RFC] mlx4_core: module param to limit msix vec allocation

2010-06-10 Thread Arthur Kepner
The mlx4_core driver allocates 'nreq' msix vectors (and irqs), where: nreq = min_t(int, dev-caps.num_eqs - dev-caps.reserved_eqs, num_possible_cpus() + 1); ConnectX HCAs support 512 event queues (4 reserved). On a system with enough processors, we get: mlx4_core

[PATCH 00/19 V4] mlx4 SRIOV support

2010-06-10 Thread Yevgeny Petrilin
Hello Roland, This is another round of SRIOV support patches for mlx4. Currently the support is for the mlx4_core and mlx4_en modules. The main changes from previous round are: 1. Events on the Communication channel, no more polling. 2. Steering mechanism change for Ethernet traffic. Thanks,

[PATCH 01/19 V4] mlx4_core: identify function as pf or vf

2010-06-10 Thread Yevgeny Petrilin
Signed-off-by: Liran Liss lir...@mellanox.co.il Signed-off-by: Yevgeny Petrilin yevge...@mellanox.co.il --- include/linux/mlx4/device.h | 19 +++ 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h index

[PATCH 02/19 V4] mlx4_core: add multi-function communication channel

2010-06-10 Thread Yevgeny Petrilin
The communication channel consists of 2 registers per vf (a slave function) that are shared with the pf (the master function), as well as a new command for inter-function memory copying (only exposed to the master). The communication channel is used to establish a Virtual HCA Command Register

[PATCH 03/19 V4] mlx4_core: add WRITE_MTT support

2010-06-10 Thread Yevgeny Petrilin
Used by vfs to modify mtts, since they cannot access in-memory mtts directly. Signed-off-by: Liran Liss lir...@mellanox.co.il Signed-off-by: Yevgeny Petrilin yevge...@mellanox.co.il --- drivers/net/mlx4/cmd.c | 10 +- drivers/net/mlx4/mlx4.h |5 +++ drivers/net/mlx4/mr.c | 67

[PATCH 04/19 V4] mlx4_core: add slave resource allocation

2010-06-10 Thread Yevgeny Petrilin
All QPs/CQs/SRQs/MPTs/MTTs are allocated from shared pools, which are owned by the master. In addition, all backing ICM memory for these objects is managed by the master. To allow slaves to allocate resources, ICM allocation is separated from the rest of the object state, which is held at the

[PATCH 05/19 V4] mlx4_core: add port para-virtualization

2010-06-10 Thread Yevgeny Petrilin
Ports are a shared resource among functions, so special behavior is needed here: - Bring up ports if at least one function has done so. - Bring down ports if all functions have done so. - Aggregate IB port capabilities - Set max mtu among for Eth port - Ensure steering is not broken for Eth ports.

[PATCH 06/19 V4] mlx4_core: dispatch slave asynch events

2010-06-10 Thread Yevgeny Petrilin
Affiliated and unaffiliated asynch events are handled by a single EQ owned by the master. A per-slave SW event queue is added to log and dispatch both slave-specific events and events that apply to all slaves. Signed-off-by: Liran Liss lir...@mellanox.co.il Signed-off-by: Yevgeny Petrilin

[PATCH 08/19 V4] mlx4_core: multi-function resource setup

2010-06-10 Thread Yevgeny Petrilin
Only master function needs to configure eq asynch events, and initialize resource allocators. Only the master function polls for fatal events. Signed-off-by: Liran Liss lir...@mellanox.co.il Signed-off-by: Yevgeny Petrilin yevge...@mellanox.co.il --- drivers/net/mlx4/cq.c |4 +++

[PATCH 09/19 V4] mlx4_core: boot sriov

2010-06-10 Thread Yevgeny Petrilin
Add virtual function device ids. Setting VF flag to device private data Establish comm channel when sriov is enabled, and boot vfs through it. Each slave gets one msi-X for completions, the master also gets one for async events. Signed-off-by: Liran Liss lir...@mellanox.co.il Signed-off-by:

[PATCH 10/19 V4] mlx4_core: Determine primary physical function

2010-06-10 Thread Yevgeny Petrilin
In multifunctional devices, only the primary function would succeed to execute QUERY_FW command, all other would fail with _EACCES error. Ownership on the device can also be claimed by reading a descriptor before sw reset. If it is 0, no one claimed ownership on the device so far, otherwise, you

[PATCH 11/19 V4] mlx4_core: Activating ports according to function number

2010-06-10 Thread Yevgeny Petrilin
In devices with multiple physical functions, each function activates only one port, according to the function number. Even functions activate port 1, odd functions activate port2. For every virtual function we query the FW to which physical function it belongs, as all the functions are served by

[PATCH 2.6.35 1/3] RDMA/cxgb4: Don't call abort_connection() for active connect failures.

2010-06-10 Thread Steve Wise
Signed-off-by: Steve Wise sw...@opengridcomputing.com --- drivers/infiniband/hw/cxgb4/cm.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c index 30ce0a8..3e15a07 100644 ---

[PATCH 2.6.35 2/3] RDMA/cxgb4: Support variable sized work requests.

2010-06-10 Thread Steve Wise
T4 EQ entries are in multiples of 64B. Currently the RDMA SQ and RQ use fixed sized entries composed of 4 EQ entries for the SQ and 2 EQ entries for the RQ. For optimial latency with small IO, we need to change this so the HW only needs to DMA the EQ entries actually used by a given work

[PATCH 2.6.35 3/3] RDMA/cxgb4: Avoid false GTS CIDX_INC overflows.

2010-06-10 Thread Steve Wise
The T4 IQ hw design assumes CIDX_INC credits will be returned on a regular basis and always before the CIDX counter crosses over the PIDX counter. For RDMA CQs, however, returning CIDX_INC credits is only needed and desired when and if the CQ is armed for notification. This can lead to a GTS

[PATCH 12/19 V4] mlx4_core: slave multicast support

2010-06-10 Thread Yevgeny Petrilin
Multicast table processing requires multiple related commands. To keep things simple, low-level multicast handling is done only by the master; a new virtual command is added to allow slaves to attach/detach QPs to mulitcast groups at a higher abstraction level. The multicast attachment mechanism

Re: InfiniBand/RDMA merge plans for 2.6.35

2010-06-10 Thread Andy Grover
On 06/09/2010 11:08 AM, Roland Dreier wrote: Please also pick up the 3-patch set Least attached vector support from Yevgeny on 2010-5-13? RDS changes depend on these. It's now post -rc2, so these obviously wait for 2.6.36 at best. However, I haven't replied to these patches in detail

RE: converting ib-mgmt scripts to executables

2010-06-10 Thread Hefty, Sean
As for ibchecknet, under what use case do you see people running it? Could ibnetdiscover or iblinkinfo provide the same functionality? I'll check on how it is being used and whether the other calls would work just as well. Thanks, - Sean -- To unsubscribe from this list: send the line

Re: converting ib-mgmt scripts to executables

2010-06-10 Thread Ira Weiny
On Thu, 10 Jun 2010 09:04:01 -0700 Hefty, Sean sean.he...@intel.com wrote: Sasha, Before we do the work, would there be any issue converting a couple of the ib-diag scripts to executables? Specifically, we'd like to have ibchecknet and ibcheckerrors functionality available on Windows.

[PATCH 13/19 V4] mlx4_core: Giving Mac addresses for slave functions.

2010-06-10 Thread Yevgeny Petrilin
For physical slaves, Mac address is retreived from static configuration. For virtual slaves get random Macs. Signed-off-by: Yevgeny Petrilin yevge...@mellanox.co.il --- drivers/net/mlx4/fw.c | 64 + drivers/net/mlx4/fw.h |6 2 files

[PATCH 14/19 V4] mlx4_core: Managing common port configuration by master function

2010-06-10 Thread Yevgeny Petrilin
The Multicast filter configuration is done by the master, that manages the filter which is common for all the functions. The master holds a list of multicast addresses for all the slaves, and adds them to the filter. In case some slave wishes to flush the filter, only his addresses are removed.

[PATCH 16/19 V4] mlx4_en: querying link state

2010-06-10 Thread Yevgeny Petrilin
In multifunction device, a certain function can initialize its port after some other function already done that. In that case link event would not be generated. Need to query the port to retrieve the port state. Signed-off-by: Yevgeny Petrilin yevge...@mellanox.co.il ---

[PATCH 18/19 V4] mlx4_core: setting MGM entry size to 512

2010-06-10 Thread Yevgeny Petrilin
Both Unicast and multicast addresses are using the same table Signed-off-by: Yevgeny Petrilin yevge...@mellanox.co.il --- drivers/net/mlx4/mlx4.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/mlx4/mlx4.h b/drivers/net/mlx4/mlx4.h index 8530032..7a7f787

[PATCH 19/19 V4] mlx4: Communication channel interrupts

2010-06-10 Thread Yevgeny Petrilin
The master function receives am interrupt each time on eof the slaves writes to the communication channel, and then handles the channel from a deffered task. The slaves can now receive command completions an async events by interrupts. The open an EQ and the master generates eqes and pushes them

Re: [PATCH 2.6.35 2/3] RDMA/cxgb4: Support variable sized work requests.

2010-06-10 Thread Roland Dreier
T4 EQ entries are in multiples of 64B. Currently the RDMA SQ and RQ use fixed sized entries composed of 4 EQ entries for the SQ and 2 EQ entries for the RQ. For optimial latency with small IO, we need to change this so the HW only needs to DMA the EQ entries actually used by a given

Re: [PATCH 2.6.35 2/3] RDMA/cxgb4: Support variable sized work requests.

2010-06-10 Thread Roland Dreier
Linus has been being a hard-ass this cycle about quieting things down post -rc2. So I'll hold off. -- Roland Dreier rola...@cisco.com || For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/index.html -- To unsubscribe from this list: send the line

[PATCH 17/19 V4] mlx4: Using mcg tables for Ethernet Unicast steering.

2010-06-10 Thread Yevgeny Petrilin
When there are multiple interfaces on the same physical port, the old steering model (Mac steering) would not work. The reason is in the old model there could be only one promiscuous QP per port. With the new mechanism each interface can have promisc entries both for unicast and multicast. A

Re: [PATCH 2.6.35 2/3] RDMA/cxgb4: Support variable sized work requests.

2010-06-10 Thread Steve Wise
Roland Dreier wrote: T4 EQ entries are in multiples of 64B. Currently the RDMA SQ and RQ use fixed sized entries composed of 4 EQ entries for the SQ and 2 EQ entries for the RQ. For optimial latency with small IO, we need to change this so the HW only needs to DMA the EQ entries

Re: InfiniBand/RDMA merge plans for 2.6.35

2010-06-10 Thread Roland Dreier
However, I haven't replied to these patches in detail but in general I don't like this approach of pick a random vector since it is non-deterministic and not likely to end up with an optimal result. What is the optimal way to do this, if it isn't to spread CQs evenly across all

[PATCH 15/19 V4] mlx4_core: Adding VEP number in resource allocation

2010-06-10 Thread Yevgeny Petrilin
The firmware should be aware of the function a resource is opened on. The function number is passed in the lower bits of input paramater. Non multi-function firmware masks these bits. Signed-off-by: Yevgeny Petrilin yevge...@mellanox.co.il --- drivers/net/mlx4/cmd.c | 58

[PATCH] ibqueryerrors.c: Optimize by querying AllPortSelect first

2010-06-10 Thread Ira Weiny
From: Ira Weiny wei...@hera2.llnl.gov Date: Thu, 6 May 2010 13:49:55 -0700 Subject: [PATCH] ibqueryerrors.c: Optimize by querying AllPortSelect first If errors are seen with AllPortSelect query individual ports for more details. Signed-off-by: Ira Weiny wei...@llnl.gov ---