Received: by 10.213.65.68 with SMTP id h4csp726785imn; Fri, 6 Apr 2018 07:56:37 -0700 (PDT) X-Google-Smtp-Source: AIpwx49TUNmDsj5H2Gr7vVojpC7G4OVti/FvhULdcBlKNuONTUCCeiWXn69AVviDnKq9VYSwdw7M X-Received: by 10.98.244.6 with SMTP id r6mr20563045pff.242.1523026597346; Fri, 06 Apr 2018 07:56:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523026597; cv=none; d=google.com; s=arc-20160816; b=qSaEH/YKKOkuq7/GdIz5IMaWGdJqaQt6IwJloUcILk8DPhzLXTmIDupzKLcyF3Z4VR pLagVP+wiCHzRn/4snPzXbsVDKxOdOgG4gPFkdc7mzw/pbebPK9JrW+9T8u3PYdXwi9U ZuB2T6u9OV7gQ7QaEtDiLkUvteFKKOX70e+U4fZdpUIwQDoITRy11aN4cbZ4hF8VTWSc Zw5VT2CjKMuQ65aGVFvGTBxKWqDRXe5XvFJBnPHtlUOWbV60H/4fGiTHTNIoH+gJ5+JW nlO8P/NDcBia3HhvpdsOyvCf2r54MnPiL9i1ab3+ust+4XHBk/FzMYbGst5D0rvbsiDL N89Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=UoDvtIoBkU6sVjPmjd2aVW1aX4wIHODguASIqR6RlKQ=; b=fdWvfaHLrHA6gzvnQ2Q5JSdqokQ7ybUR0KNALwfIolH2MhFZBUqXJo5TS6Wg5LyOm1 R1gMVVjIBSqn6iSErCWEGA4cQJhpBkvUjNxGHhavylkV+vPwPkgtHJwOW/iv2x65JDch xsnelkdhbZ39wE5GspLrfUoYrhJZnaPfQnFiqkC7JfRUZyL9tog06ZshJ+16zb4u+a7y SvZug1HEJ7RuBPg5oNzmY+Z+e/NvZbScNDpoUtgGTzBeJN4BgPnUbtHpa/n2b7ROSccy B7PvNjyhx7wng/QCxfubL9cQqXZK+y5zxhzU/2+YRNCC/dTUStWkcWEoDFYd3RKd1AKP UVGg== 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 v7-v6si9148230plz.67.2018.04.06.07.56.23; Fri, 06 Apr 2018 07:56:37 -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 S1755426AbeDFOzU (ORCPT + 99 others); Fri, 6 Apr 2018 10:55:20 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:57434 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755289AbeDFNcK (ORCPT ); Fri, 6 Apr 2018 09:32:10 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 45ECDCA6; Fri, 6 Apr 2018 13:32:09 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ben Hutchings , Ming Lei , Jens Axboe , Sasha Levin Subject: [PATCH 4.4 69/72] Revert "mtip32xx: use runtime tag to initialize command header" Date: Fri, 6 Apr 2018 15:24:10 +0200 Message-Id: <20180406084311.455222269@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180406084305.210085169@linuxfoundation.org> References: <20180406084305.210085169@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Greg Kroah-Hartman This reverts commit 9bf9e352ed51d4cdee107675609ba12b42d00c5b which was commit a4e84aae8139aca9fbfbced1f45c51ca81b57488 upstream. Ben writes: MQ IO schedulers were introduced in 4.11, so this shouldn't be needed in older branches. It also causes a performance regression (fixed upstream). Please revert this for 4.4 and 4.9. So let's revert it! Reported-by: Ben Hutchings Cc: Ming Lei Cc: Jens Axboe Cc: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/block/mtip32xx/mtip32xx.c | 36 ++++++++++++------------------------ 1 file changed, 12 insertions(+), 24 deletions(-) --- a/drivers/block/mtip32xx/mtip32xx.c +++ b/drivers/block/mtip32xx/mtip32xx.c @@ -169,25 +169,6 @@ static bool mtip_check_surprise_removal( return false; /* device present */ } -/* we have to use runtime tag to setup command header */ -static void mtip_init_cmd_header(struct request *rq) -{ - struct driver_data *dd = rq->q->queuedata; - struct mtip_cmd *cmd = blk_mq_rq_to_pdu(rq); - u32 host_cap_64 = readl(dd->mmio + HOST_CAP) & HOST_CAP_64; - - /* Point the command headers at the command tables. */ - cmd->command_header = dd->port->command_list + - (sizeof(struct mtip_cmd_hdr) * rq->tag); - cmd->command_header_dma = dd->port->command_list_dma + - (sizeof(struct mtip_cmd_hdr) * rq->tag); - - if (host_cap_64) - cmd->command_header->ctbau = __force_bit2int cpu_to_le32((cmd->command_dma >> 16) >> 16); - - cmd->command_header->ctba = __force_bit2int cpu_to_le32(cmd->command_dma & 0xFFFFFFFF); -} - static struct mtip_cmd *mtip_get_int_command(struct driver_data *dd) { struct request *rq; @@ -199,9 +180,6 @@ static struct mtip_cmd *mtip_get_int_com if (IS_ERR(rq)) return NULL; - /* Internal cmd isn't submitted via .queue_rq */ - mtip_init_cmd_header(rq); - return blk_mq_rq_to_pdu(rq); } @@ -3840,8 +3818,6 @@ static int mtip_queue_rq(struct blk_mq_h struct request *rq = bd->rq; int ret; - mtip_init_cmd_header(rq); - if (unlikely(mtip_check_unal_depth(hctx, rq))) return BLK_MQ_RQ_QUEUE_BUSY; @@ -3873,6 +3849,7 @@ static int mtip_init_cmd(void *data, str { struct driver_data *dd = data; struct mtip_cmd *cmd = blk_mq_rq_to_pdu(rq); + u32 host_cap_64 = readl(dd->mmio + HOST_CAP) & HOST_CAP_64; /* * For flush requests, request_idx starts at the end of the @@ -3889,6 +3866,17 @@ static int mtip_init_cmd(void *data, str memset(cmd->command, 0, CMD_DMA_ALLOC_SZ); + /* Point the command headers at the command tables. */ + cmd->command_header = dd->port->command_list + + (sizeof(struct mtip_cmd_hdr) * request_idx); + cmd->command_header_dma = dd->port->command_list_dma + + (sizeof(struct mtip_cmd_hdr) * request_idx); + + if (host_cap_64) + cmd->command_header->ctbau = __force_bit2int cpu_to_le32((cmd->command_dma >> 16) >> 16); + + cmd->command_header->ctba = __force_bit2int cpu_to_le32(cmd->command_dma & 0xFFFFFFFF); + sg_init_table(cmd->sg, MTIP_MAX_SG); return 0; }