Received: by 2002:a05:6358:16cc:b0:ea:6187:17c9 with SMTP id r12csp7757386rwl; Tue, 10 Jan 2023 05:09:53 -0800 (PST) X-Google-Smtp-Source: AMrXdXvX6IN0aI0+HXmO355SHETuP8ijVVcqsCSNHLcTzIlXJwBrBDdbLJH9bKxQgDqQROVk8IlH X-Received: by 2002:a17:907:c786:b0:7ad:a797:5bb9 with SMTP id tz6-20020a170907c78600b007ada7975bb9mr81697662ejc.29.1673356193640; Tue, 10 Jan 2023 05:09:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673356193; cv=none; d=google.com; s=arc-20160816; b=eWF7aTxg4Qisfan1fhEuGKRopwkqhqnrAlFCPcX/AqQ14aE3SHSgpc7iQpsSzNDx+B Dgaqm4V7QSZOMtcvF7Y0y8PCapFRL772KM1Zc9YIxKYHe4ASpQu3QJnuFgFKipoKtC3a u9yOeVHa9/crpLxaUAG1LXEKuNRmQ4kRP4NdocQIIcgUGtrInoQH6nbkbHE3xUthcY8G iy8AU11ZVv979IbwciPljzPCk/mF3nCq3JTok9HBrhK2sdtrtimd1l//CyZAWIOTWJ1m FCTh/jRNcsJWLL9orwr7jvAwgzEFTTD0RzcsaAAEORQRsuilEsU9eWj88lDogNRCTJsO 5UnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=kb5rbtDcrrBEALxeAWsV+evBt6CmnxJaFsxwsB5MGXY=; b=qDOPUfVTnzCYphVSWw9FghHfE5QQwaD8U4EihIw2CH+xlouOD0C63jCHR0yUaHqNXb CS2EOJNHJ4mW5o0hPxJiH98fEvORYP7N6ys+6ZGmSz6jB0EFRCA3Q1yYwMiFZB36/s3A N7j93UbOesbqsu2VNqW+0pK3lUEtHGVlD5P/2oC6+vSTkitD+xoCSYxASPFdB+NlIt5W usr3YQVs9mN934KNOo0aC3DBBRl6HLaKxH4Xv1yt3aGKwe8ZHwZ7u/Ug6f/eMjdTxWP2 JXUD9yD7d2lnValAbwyv31FNBcs7OduBIe+XinzPivWAd1FSn/0J9AP1iiOsQwDOQ1ye w6hQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=qNe+yfj0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id xf9-20020a17090731c900b0084d0b4b4fdbsi12549616ejb.555.2023.01.10.05.09.40; Tue, 10 Jan 2023 05:09:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=qNe+yfj0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238287AbjAJM3u (ORCPT + 53 others); Tue, 10 Jan 2023 07:29:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43564 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238536AbjAJM3H (ORCPT ); Tue, 10 Jan 2023 07:29:07 -0500 Received: from mail-pf1-x443.google.com (mail-pf1-x443.google.com [IPv6:2607:f8b0:4864:20::443]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EE8D019031; Tue, 10 Jan 2023 04:29:05 -0800 (PST) Received: by mail-pf1-x443.google.com with SMTP id a30so8678610pfr.6; Tue, 10 Jan 2023 04:29:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=kb5rbtDcrrBEALxeAWsV+evBt6CmnxJaFsxwsB5MGXY=; b=qNe+yfj0zfhE+SOsV+7F1HjMY4QUPQLGFeqwZbGq9UICOIj33jLbkSueaicCR7cK6S YbQ0Oea7WFrB7KteIN0tX1RuMGDP9WfksjlQqUn50FcjIpq1Tt9DdrhUtxOf44A7RMQ0 9zB5c/wVuWDRyeCyGOnzXmtbwXtA16gHI+8+LUX/qv0VFx3I/EtrkwQCY0pjuOsn2adS 7I34GKNxBnSBKLwptop0HDX8KliMSPZ6uHIPeaSGd4mObTAU14I6qLPVTFooC/O/Rg+0 arUTUeg7WOTumYVHwr+y72r/BoVUCwW30hZCjKBeKdVMEfWYTZ3AD5Jm09w/TGUCESij si+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kb5rbtDcrrBEALxeAWsV+evBt6CmnxJaFsxwsB5MGXY=; b=cxDsWBKopv8/jzXQ7GY7xNPjUpYv8uoM+2vBEm9/A7ALcflArUK+RealF4+3z3cEIS 3K+O1HFAi9xaad+MnR3fBPVaTfRAhgnpmo3o89LrRfEa8wuyRE8iQMmXcj788azX8j0+ +QnaWwy5Yr325yTv5FZf/DoLbSaSnG49HttyR/fU+x/S57IETSvh6iiegLk0K5Kqh3Aw +Owd6iVVm8mMnAc9qoFqX4XgSA69KLQdChp5qoSJ7Q7NPj/ZdfkGkpm9klnPh7jP685J pL8FkJI2jfBvMmA+KbjGFTeaq0GvnhBDjucdg3MDD256MDmQ3UZq5qf9gnc2dCLWV6VO zAxQ== X-Gm-Message-State: AFqh2kpC22nlloBhCLXW3n4TAX9tLR+ObVLhm+6ruPQ1wzzAbbsLzgzp 26nWGc/4Do91mpJFol7+oGNB1XNm0h/8HpUzkpU= X-Received: by 2002:a63:531b:0:b0:457:4863:2e85 with SMTP id h27-20020a63531b000000b0045748632e85mr4278119pgb.6.1673353745346; Tue, 10 Jan 2023 04:29:05 -0800 (PST) MIME-Version: 1.0 References: <20221222072603.1175248-1-korantwork@gmail.com> <3d1834d9-7905-1225-741a-f298dd5b8a8e@linux.dev> In-Reply-To: From: Xinghui Li Date: Tue, 10 Jan 2023 20:28:54 +0800 Message-ID: Subject: Re: [PATCH] PCI: vmd: Do not disable MSI-X remapping in VMD 28C0 controller To: Jonathan Derrick Cc: Keith Busch , nirmal.patel@linux.intel.com, lpieralisi@kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Xinghui Li Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Jonathan Derrick =E4=BA=8E2023=E5=B9=B41=E6=9C= =8810=E6=97=A5=E5=91=A8=E4=BA=8C 05:00=E5=86=99=E9=81=93=EF=BC=9A > > As the bypass mode seems to affect performance greatly depending on the s= pecific configuration, > it may make sense to use a moduleparam to control it > We found that each pcie port can mount four drives. If we only test 2 or 1 dirve of one pcie port, the performance of the drive performance will be normal. Also, we observed the interruptions in different modes. bypass: ..... 2022-12-28-11-39-14: 1224 181665 IR-PCI-MSI 201850948-edge nvm= e0q68 2022-12-28-11-39-14: 1179 180115 IR-PCI-MSI 201850945-edge nvm= e0q65 2022-12-28-11-39-14: RES 26743 Rescheduling interrupts 2022-12-28-11-39-17: irqtop - IRQ : 3029, TOTAL : 2100315228, CPU : 192, ACTIVE CPU : 192 disable: ...... 2022-12-28-12-05-56: 1714 169797 IR-PCI-MSI 14155850-edge nvme= 1q74 2022-12-28-12-05-56: 1701 168753 IR-PCI-MSI 14155849-edge nvme= 1q73 2022-12-28-12-05-56: LOC 163697 Local timer interrupts 2022-12-28-12-05-56: TLB 5465 TLB shootdowns 2022-12-28-12-06-00: irqtop - IRQ : 3029, TOTAL : 2179022106, CPU : 192, ACTIVE CPU : 192 remapping: 022-12-28-11-25-38: 283 325568 IR-PCI-MSI 24651790-edge vmd3 2022-12-28-11-25-38: 140 267899 IR-PCI-MSI 13117447-edge vmd1 2022-12-28-11-25-38: 183 265978 IR-PCI-MSI 13117490-edge vmd1 ...... 2022-12-28-11-25-42: irqtop - IRQ : 2109, TOTAL : 2377172002, CPU : 192, ACTIVE CPU : 192 From the result it is not difficult to find, in remapping mode the interruptions come from vmd. While in other modes, interrupts come from nvme devices. Besides, we found the port mounting 4 dirves total interruptions is much fewer than the port mounting 2 or 1 dr= ive. NVME 8 and 9 mount in one port, other port mount 4 dirves. 2022-12-28-11-39-14: 2582 494635 IR-PCI-MSI 470810698-edge nvm= e9q74 2022-12-28-11-39-14: 2579 489972 IR-PCI-MSI 470810697-edge nvm= e9q73 2022-12-28-11-39-14: 2573 480024 IR-PCI-MSI 470810695-edge nvm= e9q71 2022-12-28-11-39-14: 2544 312967 IR-PCI-MSI 470286401-edge nvm= e8q65 2022-12-28-11-39-14: 2556 312229 IR-PCI-MSI 470286405-edge nvm= e8q69 2022-12-28-11-39-14: 2547 310013 IR-PCI-MSI 470286402-edge nvm= e8q66 2022-12-28-11-39-14: 2550 308993 IR-PCI-MSI 470286403-edge nvm= e8q67 2022-12-28-11-39-14: 2559 308794 IR-PCI-MSI 470286406-edge nvm= e8q70 ...... 2022-12-28-11-39-14: 1296 185773 IR-PCI-MSI 202375243-edge nvm= e1q75 2022-12-28-11-39-14: 1209 185646 IR-PCI-MSI 201850947-edge nvm= e0q67 2022-12-28-11-39-14: 1831 184151 IR-PCI-MSI 203423828-edge nvm= e3q84 2022-12-28-11-39-14: 1254 182313 IR-PCI-MSI 201850950-edge nvm= e0q70 2022-12-28-11-39-14: 1224 181665 IR-PCI-MSI 201850948-edge nvm= e0q68 2022-12-28-11-39-14: 1179 180115 IR-PCI-MSI 201850945-edge nvm= e0q65 > I'd vote for it being in VMD mode (non-bypass) by default. I speculate that the vmd controller equalizes the interrupt load and acts like a buffer, which improves the performance of nvme. I am not sure about my analysis. So, I'd like to discuss it with the community.