Open Fabrics Enterprise Distribution (OFED) ehca in OFED 1.4 Release Notes December 2008 Overview -------- ehca is the low level driver implementation for all IBM GX-based HCAs. Supported HCAs -------------- - GX Dual-port SDR 4x IB HCA - GX Dual-port SDR 12x IB HCA - GX Dual-port DDR 4x IB HCA - GX Dual-port DDR 12x IB HCA Available Parameters -------------------- In order to set ehca parameters, add the following line(s) to /etc/modprobe.conf: options ib_ehca = whereby is one of the following items: - debug_level debug level (0: no debug traces (default), 1: with debug traces) - port_act_time time to wait for port activation (default: 30 sec) - scaling_code scaling code (0: disable (default), 1: enable) - open_aqp1 Open AQP1 on startup (default: no) (bool) - hw_level Hardware level (0: autosensing (default), 0x10..0x14: eHCA, 0x20..0x23: eHCA2) (int) - nr_ports number of connected ports (-1: autodetect, 1: port one only, 2: two ports (default) (int) - use_hp_mr Use high performance MRs (default: no) (bool) - poll_all_eqs Poll all event queues periodically (default: yes) (bool) - static_rate Set permanent static rate (default: no static rate) (int) - lock_hcalls Serialize all hCalls made by the driver (default: autodetect) (bool) - number_of_cqs Max number of CQs which can be allocated (default: autodetect) (int) - number_of_qps Max number of QPs which can be allocated (default: autodetect) (int) New Features ------------ - Flush error completion support Fixed Bugs ofed-1.4 --------------------- - Reject send work requests only for RESET, INIT and RTR state - Reject receive work requests if QP is in RESET state - In case of lost interrupts, trigger EOI to reenable interrupts - Filter PATH_MIG events if QP was never armed - Release mutex in error path of alloc_small_queue_page() - Check idr_find() return value - Discard double CQE for one WR - Generate flush status CQ entries - Don't allow creating UC QP with SRQ - Fix reported max number of QPs and CQs in systems with >1 adapter - Reject dynamic memory add/remove when ehca adapter is present - Remove reference to special QP in case of port activation failure - Fix locking for shca_list_lock Fixed Bugs ofed-1.3.1 --------------------- - Support all ibv_devinfo values in query_device() and query_port() - Prevent posting of SQ WQEs if QP not in RTS - Remove mr_largepage parameter, ie always enable large page support - Allocate event queue size depending on max number of CQs and QPs - Protect QP against destroying until all async events for it are handled Fixed Bugs ofed-1.3 ------------------- - Serialize HCA-related hCalls if necessary - Fix static rate if path faster than link - Return physical link information in query_port() - Fix clipping of device limits to INT_MAX - Fix issues related to path migration support - Support more than 4k QPs for userspace and kernelspace - Prevent sending UD packets to QP0 - Prevent RDMA-related connection failures on some eHCA2 hardware Available backports ------------------- - RedHat EL5 up1: 2.6.18-53.ELsmp - RedHat EL5 up2: 2.6.18-92.ELsmp - SLES10SP1: 2.6.16-53-0.16-smp - SLES10SP2: 2.6.16-60 - kernel.org: 2.6.24-27 Known Issues ------------ 1. The device driver normally uses both ports. For using just one port it is strongly recommended to set option nr_ports=-1 to enable autodetect mode: modprobe ib_ehca nr_ports=-1 2. Furthermore the port(s) needs to be connected to an active switch port while loading the ehca device driver. 3. Dynamic memory operations are not supported with ehca