Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1674019ybl; Sat, 11 Jan 2020 00:18:36 -0800 (PST) X-Google-Smtp-Source: APXvYqzXy/yDEsi8MvJpQ5akKOq8oApwPjhCUL8dPGCyvWtcpx4O5cat4ufs2oBomTKG4hzj4nRg X-Received: by 2002:a05:6808:b37:: with SMTP id t23mr5716471oij.149.1578730716700; Sat, 11 Jan 2020 00:18:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578730716; cv=none; d=google.com; s=arc-20160816; b=SZzrpDt6SW4+kF/tS3YCuOaUKlo2yMxN1rLJe1MK/bhqHcyTrH1aVbSBuzQjV6KGlp Na7sFAx2C3VImBkJ6F5qpiz/t/EMk34x3EYx3981/xDNLL1h4Jb4EfHezxRMQIZXT2Fz 4lek4JAqe22g/bhD27qzxogjiPMs7GIWHTY0LcRuHEn6Vd1ELgK7qnFvg+6M6El0PP5R +oy3Jy+YFD1n4uaqwXtbVCS9ou1EclNFQwOO4kaM48TxqOtOrmy5hXODF52Ra9vgYz6I NPrhpuGQZGvsZYPPbFpbLz3Iul29nhLDCVMidaCSTpcwdteMI3aEacxB7JYUgQa3aUww uFHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=TSTs/3r+gMHYDAAehvTwpFDAhqXBqJ8U8rLLzJ9X6i0=; b=GjLF8fMiKExi+GlbIu2OAGebkhrdT6mZyNBEgUfxj7PdPPTUbewjPN1qk9/mzOBFDR 2/XUkDZozPPrVgfLSIfn4U0+qoZ0c65N5D+WWaevgbLXW+PO0QKdabFTpd4Hk1tAB+HY eLsQk3Hm36qj8+R09yEqLe9PeG+19mA0XYqrpLgJ53ip6iE0c4fevPmsEAw+tW6Hfcli OCJrKSBzCc+K0v74zY9njGKE6P/km5OHlkbkgth9X/DjI2AbJu7muGKd0WEpvAnKcPB+ wWjMCjtf+aQrHNr+c7gtmUaK8uY77axazB8pOvaIR+hn+0F4xsQzPZYQEFIeTKzLJEb6 Fm+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxonhyperv.com header.s=default header.b=TrleX3El; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxonhyperv.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i8si3070095otp.254.2020.01.11.00.18.23; Sat, 11 Jan 2020 00:18:36 -0800 (PST) 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; dkim=pass header.i=@linuxonhyperv.com header.s=default header.b=TrleX3El; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxonhyperv.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728606AbgAKIRW (ORCPT + 99 others); Sat, 11 Jan 2020 03:17:22 -0500 Received: from linux.microsoft.com ([13.77.154.182]:56172 "EHLO linux.microsoft.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728592AbgAKIRV (ORCPT ); Sat, 11 Jan 2020 03:17:21 -0500 Received: by linux.microsoft.com (Postfix, from userid 1004) id 4940E20EB6F2; Sat, 11 Jan 2020 00:17:21 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 4940E20EB6F2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxonhyperv.com; s=default; t=1578730641; bh=TSTs/3r+gMHYDAAehvTwpFDAhqXBqJ8U8rLLzJ9X6i0=; h=From:To:Cc:Subject:Date:From; b=TrleX3ElqSd94in+vgHzU/qDAOW2zZI6QnjZPAxBmSp4kxPdUnvC9LnSHiTkIvXRo xkrR8INSH1wx0SUhCttE70CtB7nfZBC5CA7XK1vpa7tgq7m1SWw+Ar1ILYYTri6XzK Q2kwMF+sC/OE7mzp/+VFpqGFwvKxiPx6K7sKetNk= From: longli@linuxonhyperv.com To: "K. Y. Srinivasan" , Haiyang Zhang , Stephen Hemminger , Sasha Levin , "James E.J. Bottomley" , "Martin K. Petersen" , linux-hyperv@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Long Li Subject: [PATCH] scsi: storvsc: Correctly set number of hardware queues for IDE disk Date: Sat, 11 Jan 2020 00:17:14 -0800 Message-Id: <1578730634-109961-1-git-send-email-longli@linuxonhyperv.com> X-Mailer: git-send-email 1.8.3.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Long Li Commit 0ed881027690 ("scsi: storvsc: setup 1:1 mapping between hardware queue and CPU queue") introduced a regression for disks attached to IDE. For these disks the host VSP only offers one VMBUS channel. Setting multiple queues can overload the VMBUS channel and result in performance drop for high queue depth workload on system with large number of CPUs. Fix it by leaving the number of hardware queues to 1 (default value) for IDE disks. Fixes: 0ed881027690 ("scsi: storvsc: setup 1:1 mapping between hardware queue and CPU queue") Signed-off-by: Long Li --- drivers/scsi/storvsc_drv.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c index f8faf8b3d965..992b28e40374 100644 --- a/drivers/scsi/storvsc_drv.c +++ b/drivers/scsi/storvsc_drv.c @@ -1842,9 +1842,11 @@ static int storvsc_probe(struct hv_device *device, */ host->sg_tablesize = (stor_device->max_transfer_bytes >> PAGE_SHIFT); /* + * For non-IDE disks, the host supports multiple channels. * Set the number of HW queues we are supporting. */ - host->nr_hw_queues = num_present_cpus(); + if (dev_id->driver_data != IDE_GUID) + host->nr_hw_queues = num_present_cpus(); /* * Set the error handler work queue. -- 2.20.1