Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp210531pxu; Wed, 25 Nov 2020 17:53:32 -0800 (PST) X-Google-Smtp-Source: ABdhPJx5VGurCNq4zrN29jZ05nova/jyWJZmihT4Cq2uEjvtoW9CNxRsqFfUJh7r8jbo/dptljQw X-Received: by 2002:a50:fd8c:: with SMTP id o12mr471230edt.22.1606355612025; Wed, 25 Nov 2020 17:53:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606355612; cv=none; d=google.com; s=arc-20160816; b=S+lgrQaz8Mj2gtqGRnzLvRMuEyw55eLp9+u1z+WuNowdbmsdUPIOEJq2EOPtwzAck/ 37kjGPAIxvhbsLM5U+oy7UDuol/JnuelX0VIjPmwQjc4s5PXssiAIz/55NDzK2/XpbGm g7a2YR0mahH8c47jDkzhOGYKAbg1A7U/AEhsZAsA+gLRb3MZzKOi4mjqxtjBK3zDAq0K Y3N0UxDCve5e55ejQjBF1t0FgIFVoXd8aRF6+u161pv9LN9H/UqbxdVve3kJ26FtPhti IXYNfZYqsbT0+1krOHoSGQca5wRdZ9I9lnGcjF+E9vBfxYDiZyEXxwnkkzhr1iRGEOLB m+sg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=IsJV+W6rqmKP+P0reyb6aEngp4KnqNn7zeN+9xIpHcE=; b=s4DhSclotNIIJrL8/n8LCT4LpJbLL7ka/whQnmXh/fEunx3+b+fv5Cn+qqKyNRIG3S 6I15EIQq/SlXCHSBYwaLpsScme975QCwYGOGAcNVVf8oSVWTaIJuJ9+4z1UB++pR5cRL DiHrbNmrsyKOtfxAhnHhZm9wcaABUPGPRwJKDCrUXjaeeG65/qk8k62E49fzR40hRoEe 7sckaqCxAXKVoKy8OIxs20sCKHMXwz/dQCPtwmHjbw2FUQWhies1KUXN4Y5bL2NrhGAm w4NDFzqBPu+IV6ArqhLYzFDR8dcfq+gfmeWSYAmXs+badMtHcjp8mJHZ44yx26K+cvde z58w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=CpLURApQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q3si2167208edr.472.2020.11.25.17.53.08; Wed, 25 Nov 2020 17:53:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=CpLURApQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732024AbgKZBsl (ORCPT + 99 others); Wed, 25 Nov 2020 20:48:41 -0500 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:36216 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730231AbgKZBsl (ORCPT ); Wed, 25 Nov 2020 20:48:41 -0500 Received: from pps.filterd (m0098409.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 0AQ1YG4S028842; Wed, 25 Nov 2020 20:48:32 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding; s=pp1; bh=IsJV+W6rqmKP+P0reyb6aEngp4KnqNn7zeN+9xIpHcE=; b=CpLURApQAjBocfDvbQD0/6d/gybTOBRQo23R8grjuzzj2uC6usaD2DBmJdZRazXw0hK9 UCtpH2dUjhbfvDYzQAiSwArIj1c6hny1ndetl8BpbLep8tw0EE1K0sKnXBt2i+Xw+Y0u 0lZ3EC2bNntz+sd2+yDhqYl9e/VvMp3Jf3uDfTri6Ly81H91IPQog9OwBaaf6e6gHLtp 5Jx+mykG7x9qUUPFjqGLsPLnlAX+Dm7eymn4WKfIuh7cnsl/pEzVPB8qbZ2S3YCKTdCY dZE4SFy5kxQKgjT0/ZebtUs4mgaND9ifH3RKCEZOs2KipFpfKw9XU0zGDnZlMKhkwWry AQ== Received: from ppma03dal.us.ibm.com (b.bd.3ea9.ip4.static.sl-reverse.com [169.62.189.11]) by mx0a-001b2d01.pphosted.com with ESMTP id 3521cht090-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 25 Nov 2020 20:48:32 -0500 Received: from pps.filterd (ppma03dal.us.ibm.com [127.0.0.1]) by ppma03dal.us.ibm.com (8.16.0.42/8.16.0.42) with SMTP id 0AQ1m9ct028856; Thu, 26 Nov 2020 01:48:31 GMT Received: from b03cxnp08025.gho.boulder.ibm.com (b03cxnp08025.gho.boulder.ibm.com [9.17.130.17]) by ppma03dal.us.ibm.com with ESMTP id 34xth9vrqf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 26 Nov 2020 01:48:31 +0000 Received: from b03ledav001.gho.boulder.ibm.com (b03ledav001.gho.boulder.ibm.com [9.17.130.232]) by b03cxnp08025.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 0AQ1mNEh131596 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 26 Nov 2020 01:48:23 GMT Received: from b03ledav001.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9C3B26E052; Thu, 26 Nov 2020 01:48:29 +0000 (GMT) Received: from b03ledav001.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 53C066E050; Thu, 26 Nov 2020 01:48:29 +0000 (GMT) Received: from vios4361.aus.stglabs.ibm.com (unknown [9.3.43.61]) by b03ledav001.gho.boulder.ibm.com (Postfix) with ESMTP; Thu, 26 Nov 2020 01:48:29 +0000 (GMT) From: Tyrel Datwyler To: james.bottomley@hansenpartnership.com Cc: martin.petersen@oracle.com, linux-scsi@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, brking@linux.ibm.com, Tyrel Datwyler Subject: [PATCH 00/13] ibmvfc: initial MQ development Date: Wed, 25 Nov 2020 19:48:11 -0600 Message-Id: <20201126014824.123831-1-tyreld@linux.ibm.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.312,18.0.737 definitions=2020-11-25_14:2020-11-25,2020-11-25 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 bulkscore=0 priorityscore=1501 phishscore=0 clxscore=1015 impostorscore=0 mlxlogscore=999 lowpriorityscore=0 suspectscore=1 adultscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2011260005 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Recent updates in pHyp Firmware and VIOS releases provide new infrastructure towards enabling Subordinate Command Response Queues (Sub-CRQs) such that each Sub-CRQ is a channel backed by an actual hardware queue in the FC stack on the partner VIOS. Sub-CRQs are registered with the firmware via hypercalls and then negotiated with the VIOS via new Management Datagrams (MADs) for channel setup. This initial implementation adds the necessary Sub-CRQ framework and implements the new MADs for negotiating and assigning a set of Sub-CRQs to associated VIOS HW backed channels. The event pool and locking still leverages the legacy single queue implementation, and as such lock contention is problematic when increasing the number of queues. However, this initial work demonstrates a 1.2x factor increase in IOPs when configured with two HW queues despite lock contention. Tyrel Datwyler (13): ibmvfc: add vhost fields and defaults for MQ enablement ibmvfc: define hcall wrapper for registering a Sub-CRQ ibmvfc: add Subordinate CRQ definitions ibmvfc: add alloc/dealloc routines for SCSI Sub-CRQ Channels ibmvfc: add Sub-CRQ IRQ enable/disable routine ibmvfc: add handlers to drain and complete Sub-CRQ responses ibmvfc: define Sub-CRQ interrupt handler routine ibmvfc: map/request irq and register Sub-CRQ interrupt handler ibmvfc: implement channel enquiry and setup commands ibmvfc: advertise client support for using hardware channels ibmvfc: set and track hw queue in ibmvfc_event struct ibmvfc: send commands down HW Sub-CRQ when channelized ibmvfc: register Sub-CRQ handles with VIOS during channel setup drivers/scsi/ibmvscsi/ibmvfc.c | 460 ++++++++++++++++++++++++++++++++- drivers/scsi/ibmvscsi/ibmvfc.h | 37 +++ 2 files changed, 493 insertions(+), 4 deletions(-) -- 2.27.0