Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753346AbbKPTD3 (ORCPT ); Mon, 16 Nov 2015 14:03:29 -0500 Received: from smtp.opengridcomputing.com ([72.48.136.20]:33847 "EHLO smtp.opengridcomputing.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752546AbbKPTD0 (ORCPT ); Mon, 16 Nov 2015 14:03:26 -0500 From: "Steve Wise" To: "'Sagi Grimberg'" , "'Christoph Hellwig'" , Cc: , , , References: <1447422410-20891-1-git-send-email-hch@lst.de> <1447422410-20891-4-git-send-email-hch@lst.de> <564851BB.1020004@dev.mellanox.co.il> <564A067B.8030504@opengridcomputing.com> <003001d1209c$ecb70760$c6251620$@opengridcomputing.com> <564A2270.1040004@dev.mellanox.co.il> In-Reply-To: <564A2270.1040004@dev.mellanox.co.il> Subject: RE: [PATCH 3/9] IB: add a helper to safely drain a QP Date: Mon, 16 Nov 2015 13:03:27 -0600 Message-ID: <003801d120a1$799338d0$6cb9aa70$@opengridcomputing.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook 14.0 Thread-Index: AQERORJqMufO+U/7gnRNmtFaKVkLAQJ7wGrAAbgeWTMB6ZpSbgEzjSOoAzzRny2fyl6akA== Content-Language: en-us Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1777 Lines: 38 > -----Original Message----- > From: linux-rdma-owner@vger.kernel.org [mailto:linux-rdma-owner@vger.kernel.org] On Behalf Of Sagi Grimberg > Sent: Monday, November 16, 2015 12:38 PM > To: Steve Wise; 'Christoph Hellwig'; linux-rdma@vger.kernel.org > Cc: bart.vanassche@sandisk.com; axboe@fb.com; linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org > Subject: Re: [PATCH 3/9] IB: add a helper to safely drain a QP > > > > After looking at the nes driver, I don't see any common way to support drain w/o some serious driver mods. Since SRP is the only > > user, perhaps we can ignore iWARP for this function... > > But iser/isert essentially does it too (and I think xprtrdma will have > it soon)... > > the modify_qp is invoked from rdma_disconnect() and we do post > an 'empty' wr to wait for all the flushes to drain (see > iser_conn_terminate). That won't work for iWARP. Is this code new? I didn't see any errors that would result from this code when I tested iSER over cxgb4 with the old iwarp support patches. Perhaps we need another way to do this? Like a completion object in the QP that gets triggered when the SQ and RQ become empty after a transition to ERROR (and CLOSING for iwarp). Then a core service that just waits until the QP is empty. Implementation of this design would hit the providers though since only they know when the flush is completed. Alternatively, I could enable post-while-in-error support in cxgb4 and ignore the spec in this regard. But I'd rather not do that. :) Steve. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/