From patchwork Thu Oct 24 14:21:15 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Garry X-Patchwork-Id: 177520 Delivered-To: patch@linaro.org Received: by 2002:a92:409a:0:0:0:0:0 with SMTP id d26csp2265514ill; Thu, 24 Oct 2019 07:24:59 -0700 (PDT) X-Google-Smtp-Source: APXvYqzW1doTWFnFT/MAoFMWL0c+Azn9F9Sw9o22mLvSEDBGnjcAnsWxeMe/QDobzMtO/dafaKog X-Received: by 2002:a17:906:f1d0:: with SMTP id gx16mr22271583ejb.62.1571927099507; Thu, 24 Oct 2019 07:24:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571927099; cv=none; d=google.com; s=arc-20160816; b=yqG3r2F1yE33Ke/MFXYIzUGlFYUCJBjpBAG2LeEmJqZ3j4Kye3ZBAzPHWLXtVLVw/b 6MAxj+xBOCiZdQnU7o1/VpxPe1QlHWoaW+aUngyeiLUTumOri4lZEGIu0Q0pY9/WpMbO sTcZcPsPCrKGrDFopwCUGmk+to7vLBfwZ/JE84EgM8tQ/82FTGngGKNzitfqDCK70Aic IyGA1VnV86pjLPIUjrKhkFJuI2u1AKb/qH70k26MyvCklk4q3xQlIwxPdvR950nPqeJn Uz5uGU0+zANAbx2/tihFNIBosyyksEHPA9IekAOCuuRqR6hFcdp42boFWlmlSXpEa/y9 1xaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from; bh=OSAlSFYXC3G7JPufmKVRfoR0+RosrRHMUqYwhSi+KVo=; b=XJzvInQm2kWtAzcghLqY84uXhEeWu/RZy7TchaDVtVKsXhRF6Gkdsn2xCyaWWuOqpk +AlQlUa84JoHNalLmqc8k4heJBlcwFdISCIqtAyL3cd9PfQWFMEdKa5U9tIFNZJR1cbw oHddt2lctwbdJIFYknXC2VWsULx3xJZOD6Zc2rNWWOfLh7zkaxZMNeU87VapKB+zlDEX AqE5Wk7uYBDrxOSnaFZQX1kGVaMAABHJCtKonL2nQyC4QQqWDPsb9JqRS479Gfofs8tI 5kpmMsnw4vZg2PCFRjyFKUZpTLuX8ykTfeH0V4kwh82p0mXnqGKGMZgNpxGbLQfO5phj 96AA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w56si4031696eda.376.2019.10.24.07.24.59; Thu, 24 Oct 2019 07:24:59 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2409430AbfJXOYy (ORCPT + 26 others); Thu, 24 Oct 2019 10:24:54 -0400 Received: from szxga07-in.huawei.com ([45.249.212.35]:32896 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2409401AbfJXOYx (ORCPT ); Thu, 24 Oct 2019 10:24:53 -0400 Received: from DGGEMS414-HUB.china.huawei.com (unknown [172.30.72.60]) by Forcepoint Email with ESMTP id 50CF9A534B6008F833E7; Thu, 24 Oct 2019 22:24:50 +0800 (CST) Received: from localhost.localdomain (10.69.192.58) by DGGEMS414-HUB.china.huawei.com (10.3.19.214) with Microsoft SMTP Server id 14.3.439.0; Thu, 24 Oct 2019 22:24:39 +0800 From: John Garry To: , CC: , , , , , "John Garry" Subject: [PATCH 0/6] hisi_sas: Expose multiple hw queues for v3 hw as experimental Date: Thu, 24 Oct 2019 22:21:15 +0800 Message-ID: <1571926881-75524-1-git-send-email-john.garry@huawei.com> X-Mailer: git-send-email 2.8.1 MIME-Version: 1.0 X-Originating-IP: [10.69.192.58] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series adds support to expose multiple hw queues for SCSI mid-layer as an experimental feature. For now it is experimental due to known CPU hotplug issue for managed interrupts. So now we have two module parameters to enable managed interrupts for v3 hw driver: - auto_affine_msi_experimental: Use managed interrupts plus and manage reply map internally. Use request tag for IPTT (apart from reserved commands). - expose_mq_experimental Use managed interrupts plus and expose multipe hw queues. Manage IPTT internally with sbitmap. Paramater auto_affine_msi_experimental shows better performance (than expose_mq_experimental), so we need to maintain it for now to stop complaints about performance regression (even though enabling this parameter is unsafe). I want to remove these module parameters ASAP. This series also includes a change to convert the driver to use sbitmap where possible for managing IPTT. This series is based on 5.4 + [0], even though being advertised for topic-sas-5.4 dev branch. Sorry for send before that is merged, but I just wanted to get these posted. [0] https://lore.kernel.org/linux-scsi/1571674935-108326-1-git-send-email-john.garry@huawei.com/T/#t John Garry (6): scsi: hisi_sas: Use sbitmap for IPTT management scsi: hisi_sas: Pass scsi_cmnd pointer to hisi_sas_hw.slot_index_alloc scsi: hisi_sas: Add bitmaps_alloc_v3_hw() scsi: hisi_sas: Add slot_index_alloc_v3_hw() and slot_index_free_v3_hw() scsi: hisi_sas: Split interrupt_init_v3_hw() scsi: hisi_sas: Expose multiple hw queues for v3 as experimental drivers/scsi/hisi_sas/hisi_sas.h | 12 ++- drivers/scsi/hisi_sas/hisi_sas_main.c | 135 ++++++++++++------------- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 110 +++++++++++++------- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 100 ++++++++++++++++-- 4 files changed, 242 insertions(+), 115 deletions(-) -- 2.17.1