Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp3351254ybl; Mon, 20 Jan 2020 22:20:40 -0800 (PST) X-Google-Smtp-Source: APXvYqyMsYUnNdg014YhEP2Mwejr4+XC+lxKw/2lpidFJJdEE+gBS/vmHt9VBhQdMMOtfHoY63Wv X-Received: by 2002:a9d:560f:: with SMTP id e15mr2357459oti.301.1579587640463; Mon, 20 Jan 2020 22:20:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579587640; cv=none; d=google.com; s=arc-20160816; b=IUN+hQMsxByxh0xQi2fi2Kn1aLnJXIx3JJAReJm/MMFREMS7afrT1aIe17PnEVzpaz KWv2q/yrEMoaxAtFc41Kqightv3EC6Av4M02GtWCckxJSSWf/pJCcHh11WtyCTWQQBGB D6OeDlP7yATkeC3PsDEx5Y5VbkWHN69k4QqI8p1IxAQ9QjmuZ6Q0LJjLvdpRs5lnQnhE +sj8W9tb2Vl341I9t+h8H+ZU0NuZusMoLU3+BKzK4sdeVdEfFXkV3O5HOOgc3r9mVUU6 4/tehrniUARc5AiroJxOSqNoMjc1mkMXqLwcTUjlT4p82OSMpdb8c11oc7PpGokiqbwH AHMw== 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; bh=/jq2Ge9LKvJ2p0CEE1gQ0FuEdg36LseF6LmIQxD7F1k=; b=qNxnXks5Hef2ZDLcPNRfxpgjSIQp35Z+mpMCURSiyUrtCqRbbLN5qyBLafbpC7suXY 99pdnbyR2fbVmsnFC6rkBhanJreu+dfmOUElaA9c83TkQsIDWlMr/eOlw2FkGio2sR3t leYK2JJTN854uhFDzQ6BhiiT9adnLSp+jApIGUFXrQth+UH4ZnNEygNCXDaCB+XAe9Ul BfOvosNXKGAxmBYnEo7rFgHKg0Jlf2CmwwlQ9aOhqyrcwcT518BXb76RtrhBB7iDyj7d CKhv/vBZDhsk2MeNMFeyiHOLnfA/WE5EYVQZQrVTIwbOE5aXRmPjdoW8gzzmD08slbDr f1VQ== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u18si9503644oif.66.2020.01.20.22.20.27; Mon, 20 Jan 2020 22:20:40 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728709AbgAUGTa (ORCPT + 99 others); Tue, 21 Jan 2020 01:19:30 -0500 Received: from mga02.intel.com ([134.134.136.20]:62547 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726052AbgAUGTa (ORCPT ); Tue, 21 Jan 2020 01:19:30 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Jan 2020 22:19:29 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,344,1574150400"; d="scan'208";a="278301056" Received: from hyperv-sh3.bj.intel.com ([10.240.193.95]) by fmsmga001.fm.intel.com with ESMTP; 20 Jan 2020 22:19:27 -0800 From: Jing Liu To: virtio-dev@lists.oasis-open.org Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org, qemu-devel@nongnu.org, Jing Liu Subject: [virtio-dev] [PATCH v2 0/5] virtio-mmio enhancement Date: Tue, 21 Jan 2020 21:54:28 +0800 Message-Id: <1579614873-21907-1-git-send-email-jing2.liu@linux.intel.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The current virtio over MMIO has some limitations that impact the performance. It only supports single legacy, dedicated interrupt and one virtqueue notification register for all virtqueues which cause performance penalties. To address such limitations, we proposed to update virtio-mmio spec with two new feature bits to support MSI interrupt and enhancing notification mechanism. For keeping virtio-mmio simple as it was, and considering practical usages, this provides two kinds of mapping mode for device: MSI non-sharing mode and MSI sharing mode. MSI non-sharng mode indicates a fixed static vector and event relationship specified in spec, which can simplify the setup process and reduce vmexit, fitting for a high interrupt rate request. MSI sharing mode indicates a dynamic mapping, which is more like PCI does, fitting for a non-high interrupt rate request. Change Log: v1->v2: * Change version update to feature bit * Add mask/unmask support * Add two MSI sharing/non-sharing modes * Change MSI registers layout and bits Jing Liu (5): virtio-mmio: Add feature bit for MMIO notification virtio-mmio: Enhance queue notification support virtio-mmio: Add feature bit for MMIO MSI virtio-mmio: Introduce MSI details virtio-mmio: MSI vector and event mapping content.tex | 286 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------ msi-state.c | 5 ++ 2 files changed, 262 insertions(+), 29 deletions(-) create mode 100644 msi-state.c -- 2.7.4