Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751607AbdGZQns (ORCPT ); Wed, 26 Jul 2017 12:43:48 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51342 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751570AbdGZQnr (ORCPT ); Wed, 26 Jul 2017 12:43:47 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com DE1A77C849 Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=alex.williamson@redhat.com Date: Wed, 26 Jul 2017 10:43:43 -0600 From: Alex Williamson To: "Gao, Ping A" Cc: kwankhede@nvidia.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, "Tian, Kevin" , Zhenyu Wang , Jike Song , Subject: Re: [RFC]Add new mdev interface for QoS Message-ID: <20170726104343.5bfa51d5@w520.home> In-Reply-To: <9951f9cf-89dd-afa4-a9f7-9a795e4c01af@intel.com> References: <9951f9cf-89dd-afa4-a9f7-9a795e4c01af@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Wed, 26 Jul 2017 16:43:47 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2075 Lines: 43 [cc +libvir-list] On Wed, 26 Jul 2017 21:16:59 +0800 "Gao, Ping A" wrote: > The vfio-mdev provide the capability to let different guest share the > same physical device through mediate sharing, as result it bring a > requirement about how to control the device sharing, we need a QoS > related interface for mdev to management virtual device resource. > > E.g. In practical use, vGPUs assigned to different quests almost has > different performance requirements, some guests may need higher priority > for real time usage, some other may need more portion of the GPU > resource to get higher 3D performance, corresponding we can define some > interfaces like weight/cap for overall budget control, priority for > single submission control. > > So I suggest to add some common attributes which are vendor agnostic in > mdev core sysfs for QoS purpose. I think what you're asking for is just some standardization of a QoS attribute_group which a vendor can optionally include within the existing mdev_parent_ops.mdev_attr_groups. The mdev core will transparently enable this, but it really only provides the standard, all of the support code is left for the vendor. I'm fine with that, but of course the trouble with and sort of standardization is arriving at an agreed upon standard. Are there QoS knobs that are generic across any mdev device type? Are there others that are more specific to vGPU? Are there existing examples of this that we can steal their specification? Also, mdev devices are not necessarily the exclusive users of the hardware, we can have a native user such as a local X client. They're not an mdev user, so we can't support them via the mdev_attr_group. Does there need to be a per mdev parent QoS attribute_group standard for somehow defining the QoS of all the child mdev devices, or perhaps representing the remaining host QoS attributes? Ultimately libvirt and upper level management tools would be the consumer of these control knobs, so let's immediately get libvirt involved in the discussion. Thanks, Alex