[ewg] 1.6 pull request

Mike Marciniszyn mike.marciniszyn at qlogic.com
Mon Feb 28 07:11:39 PST 2011


Vlad,

Please pull the following patches from ~mmarciniszyn/scm/ofed_1_6/linux-2.6.   These are qib patches missing from the "37" kernel that are upstream.

Thanks!
Mike

commit e985f7c9517a8793c19100c121ca08919e27c623
Author: Mitko Haralanov <mitko at qlogic.com>
Date:   Mon Feb 28 09:31:20 2011 -0500

    IB/qib: Set default LE2 value for active cables to 0

    For active and far-EQ cables use an LE2 value of 0 for
    improved SI.

    Signed-off-by: Mitko Haralanov <mitko at qlogic.com>
    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit c264fd1eb45761790df8e44215864ca9e9616dee
Author: Mitko Haralanov <mitko at qlogic.com>
Date:   Mon Feb 28 09:30:02 2011 -0500

    IB/qib: Return correct MAD when setting link width to 255

    Fix a bug which cause the driver to return incorrect MADs
    as a response to Set(PortInfo) which sets the link width
    to 0xFF or link speed to 0xF.

    Signed-off-by: Mitko Haralanov <mitko at qlogic.com>
    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit f3187875316428670617951c62ef4657b41203a4
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:28:53 2011 -0500

    IB/qib: Prevent double completions after a timeout or RNR error

    There is a double completion associated with error handling
    for RC QP's.

    The sequence is:
    - The do_rc_ack() routine fields an RNR nack and there are 0 rnr_retries
    configured on the QP.
    - qib_error_qp() stops the pending timer
    - qib_rc_send_complete() is called from sdma_complete()
    - qib_rc_send_complete() starts the timer because the msb of the psn just
    completed says and ack is needed.
    - a bunch of flushes occur as ipoib posts wqe's to an error'ed qp
    - rc_timeout() calls qib_restart_rc()
    - qib_restart_rc() calls qib_send_complete() with a IB_WC_RETRY_EXC_ERR on a
    wqe that has already been completed in the past

    The fix avoids starting the timer since another packet will never
    arrive.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit 14c7c213e6420e9deb60f2ed8aa32b40cb12046e
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:28:04 2011 -0500

    IB/qib: Kernel BUG at include/linux/timer.h:82

    The following panic BUG_ON occurs during qib testing:

    Kernel BUG at include/linux/timer.h:82

    RIP  [<ffffffff881f7109>] :ib_qib:start_timer+0x73/0x89
     RSP <ffffffff80425bd0>
     <0>Kernel panic - not syncing: Fatal exception
     <0>Dumping qib trace buffer from panic
    qib_set_lid INFO: IB0:1 got a lid: 0xf8
    Done dumping qib trace buffer
    BUG: warning at kernel/panic.c:137/panic() (Tainted: G

    The flaw is due to a missing state test when processing responses that results
    in an add_timer() call when the same timer is already queued.  This code was
    executing in parallel with a QP destroy on another CPU that had changed the state
    to reset, but the missing test caused to response handling code to run on into
    the panic.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit 9b78fd8c9e0d99e77da4d23cf62ec580c2010033
Author: Mitko Haralanov <mitko at qlogic.com>
Date:   Mon Feb 28 09:26:08 2011 -0500

    IB/qib: Hold link for Tx SERDES settings

    Hold the IB link at DISABLED until we get the correct TX
    settings on mezz boards.

    Signed-off-by: Mitko Haralanov <mitko at qlogic.com>
    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit 831e6f3114a2f0ec987c3dcf29e2be155c5bd91c
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:24:21 2011 -0500

    IB/qib: fix refcount leak in lkey/rkey validation

    The mr optimization introduced a reference count leak on an exception test.
    The lock/refcount manipulation is moved down and the problematic exception
    test now calls bail to insure that the lock is released.

    Additional fixes as suggested by Ralph Campbell <ralph.campbell at qlogic.org>:
    - reduce lock scope of dma regions
    - use explicit values on returns vs. automatic ret value

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit ca19f1843a7822459c1dc9008bbe2a2327522af4
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:23:32 2011 -0500

    IB/qib: Improve SERDES tunning on QMH boards

    Improve the QMH SERDES tunning on initial driver load by
    removing the delay after SERDES init and having the driver
    go through a link state change.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit 2e517e1654323ba675563b472a57b2782a5102be
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:22:42 2011 -0500

    IB/qib: Add a delay to allow SERDES to initialize

    Adding a small delay would allow the SERDES to adapt better,
    which would improve the link negotiation.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit 8d1c5109a9e78d75c057976375c5506e0be5c8d6
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:21:51 2011 -0500

    IB/qib: Un-necessary delayed completions on RC connection

    Currently on receipt of a response message (ACKs, RDMA Response, Atomic
    Responses etc.) if the SDMA completion counter is not advanced the
    driver delays the completion of the WQE. In most cases this is overly
    pessimistic as the response (ACK) to a previously transmitted send
    implies that the send is complete. Ensure that SDMA queue is progressed
    appropriately before determining if a send has delayed completions.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit b72e20dba2d7aa7f9962197ecb08b5c4ae06b7d9
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:21:08 2011 -0500

    IB/qib: Issue pre-emptive NAKs on eager buffer overflow

    Under congestion resulting in eager buffer overflow attempt to send
    pre-emptive NAKs if header queue entries with TID errors are generated and
    a valid header is present. This prevents long timeouts and flow restarts if
    a trailing set of packets are dropped due to eager overflows. Pre-emptive
    NAKs are currently only supported for RDMA Writes.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit d4b42bf94984b6a8396b2464f2804e4a42559708
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:20:09 2011 -0500

    IB/qib: RDMA lkey/rkey validation is inefficient for large MRs

    The current code loops during rkey/lkey validiation to isolate the mr
    for the RDMA, which is expensive when the current operation is
    inside a very large memory region.

    This fix optimizes rkey/lkey validation routines for user memory regions and
    fast memory regions.  The mr entry can be isolated by shifts/mods instead of
    looping.  The existing loop is preserved for phys memory regions for now.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit e2a778f9cb26cc710fdf62b1697a48c655538488
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:19:31 2011 -0500

    IB/qib: change qpn increment

    Changing from +1 to +2 allows for better QP
    distribution across receive contexts.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit 33cc93fe88f14c40d6755c0ac7522632708d42a3
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:18:34 2011 -0500

    IB/qib: adding fix missing from earlier patch

    rcv/error race fix was missing part
    of a fix that makes merges impossible.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit d515d9934866cfce923b35e519488cf1719dbac7
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:17:45 2011 -0500

    IB/qib: change rcv queue/qpn selection

    The basic idea is that on SusieQ, the difficult part of mapping QPN to context
    is handled by the mapping registers so the generic QPN allocation doesn't need
    to worry about chip specifics. For Monty and Linda, there is no mapping table
    so the qpt->mask (same as dd->qpn_mask), is used to see if the QPN to context
    falls within [zero..dd->n_krcv_queues).

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit 0572c6013be7e6afb3d8253d081650195deef065
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:16:51 2011 -0500

    IB/qib: interrupt mitigation fix

    For SusieQ we need to write to the interrupt timer register before updating the
    header queue head with interrupt count. This is to ensure that the timer is
    enabled properly and a receive available interrupt is delivered else this
    interrupt can be lost if the receiver header/eager queues are full before the
    timer is enabled.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit b809eb206d3bcce2f80278c2e8e68193c288b1d3
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:16:03 2011 -0500

    IB/qib: Avoid duplicate writes to the rcv head register

    Avoid duplicate writes to the head register as this can lead to lost interrupts
    if the context goes full before the second write is done.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit eaef50600af2ed692cde5887ff1127e5e5d1f16c
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:14:52 2011 -0500

    IB/qib: Add a few new SERDES tunings

    Add new SERDES tuning to aid manufacturing.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit d5c92e47e8fdcbb4af723852ac206110426aee84
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:13:39 2011 -0500

    IB/qib: Reset packet list after freeing

    Reset the list pointers after freeing the SDMA packet
    list. This is done to any potential double-free cases.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit 722f88848671c40b964b3c956e0f633368a3ee6b
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:12:30 2011 -0500

    IB/qib: New SERDES init routine and improvements to SI quality

    Implement new SERDES initialization routine and improvements
    to SI - disable LE1 adaptation, disable LOS after link-up, set
    better SERDES parameters.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit b9594f38a3bb8ec10965a20e286a32bb1b7abced
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:11:30 2011 -0500

    IB/qib: clear WAIT_SEND flags when setting QP to error state

    If these flags are set when the QP is transitioned to the error
    state, it will wait until the flags are cleared, which may never
    happen if the error transition is due to a link going down.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit 5e98328bdf49f4cb9bc4529590ac2e90d89e271a
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:10:29 2011 -0500

    IB/qib: fix context allocation with multiple HCAs

    The driver was incorrectly choosing HCAs on which to allocate
    new user contexts based on overall count of usable ports
    regardless whether the usable port was on the currently selected
    HCA.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit a19bcfc7e13e34ffee1916fa34b69689a113ceab
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:08:47 2011 -0500

    IB/qib: Multi Florida HCA Hosts panic on reboot

    Add check when setting configured contexts that the value
    does not exceed the number of contexts allocated for the
    card. If the value exceeds the already allocated count,
    set it to what is already allocated.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit 4ccdadcedc76abe1f89aad14c5783dfb8fc89b65
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 09:07:36 2011 -0500

    IB/qib: Handle transitions from ACTIVE_DEFERRED to ACTIVE better

    When the link transitions from ACTIVE_DEFERRED to ACTIVE, the driver
    only sees the ACTIVE state. With this change, it will check whether
    the state was already ACTIVE and if so, it will not generated IB
    events and will not clear symbol error counts.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit fbd9828c27e4ca320cc27b954fed4affe80a8c48
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 08:38:04 2011 -0500

    IB/qib: UD send with immediate Rx completion has wrong size

    The code to generate receive completion entries for UD send with
    immediate contains the wrong payload length. This is because when
    the code to compute the payload size was moved, the value of hdrsize
    didn't get moved too.  The fix is to update tlen directly.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit 9bb69c0b3e8538cf3d1659d480a3d2b2c249fe79
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 08:36:29 2011 -0500

    IB/qib: set port physical state even if other fields are invalid

    The IBTA vol. 1 release 1.2.1 spec. says:
    C14-24.2.1: If PortInfo:Portstate=Down, then a SubnSet(PortInfo)
    shall make any changes it specifies to PortInfo:PortPhysicalState;
    any other result is vendor-dependent.

    The patch changes the error handling so that the reply says there
    are invalid fields but still attempts to set fields that are
    in range including PortInfo:PortPhysicalState.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit a760de02de0b1ddd2462c1e26224d427834ef9a6
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 08:35:26 2011 -0500

    IB/qib: generate completion callback on errors

    According to IBTA vol. 1, C11-30.1.1, a notification callback is
    invoked if the CQ is armed for the next solicited completion event
    or an error completion. The error case wasn't being generated
    previously.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit 567b16d5a1e199535b5f317f79af1732b6b9be27
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 08:34:17 2011 -0500

    IB/qib: add thresholds to VendorPortCounters PMA operation

    This adds thresholds to be specified in the VendorPortCounters PMA
    operation.

    The reserved fields are now defined in the appropriate header file.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit a87e1ee80cf7c83c55059f1e664ce8ae50d4ee90
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 08:32:54 2011 -0500

    IB/qib: add support for the new QME7362 card

    From: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

    This patch adds support to recognize another board variation
    named QME7362.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit 2a306aed784bbf5caa3035697c70fba044581eec
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 08:31:14 2011 -0500

    IB/qib: add receive header queue size module parameters

    The receive header queue sizes need to modified to support
    performance tuning.  Three module parameters are added to
    support this.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>

commit 51c069e6950ae01ad81842f28651b0cd585867a3
Author: Mike Marciniszyn <mike.marciniszyn at qlogic.com>
Date:   Mon Feb 28 08:29:41 2011 -0500

    IB/qib: remove IB latency turnoff

    This is required for hardware testing.

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn at qlogic.com>


________________________________
This message and any attached documents contain information from QLogic Corporation or its wholly-owned subsidiaries that may be confidential. If you are not the intended recipient, you may not read, copy, distribute, or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ewg/attachments/20110228/316830e0/attachment.html>


More information about the ewg mailing list