Received: by 2002:a25:824b:0:0:0:0:0 with SMTP id d11csp3390561ybn; Fri, 27 Sep 2019 05:47:27 -0700 (PDT) X-Google-Smtp-Source: APXvYqwbRlNRJn5WDjSWL4fAGIJc7x2QUf0gSzz2uEUPki2AJI+D6IX5U2qZmOhI72+JZ1LaDBFF X-Received: by 2002:a05:6402:2cb:: with SMTP id b11mr4296782edx.285.1569588447807; Fri, 27 Sep 2019 05:47:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1569588447; cv=none; d=google.com; s=arc-20160816; b=D873T2O6dvPS/KhQMNJpqEFeaa9vd31GqPT1d0jkhFZkgkZi1M4qcRoL27h0wIXciu XJvo7l8ZqBwFpZsozqdfTO+ADF8yYUUDoqYt3rD4CHDKFDYucov+czX62RuDzyceCLTa Y7wNi3RnrEO4KNLXmHuHHWZMJhklqa7hixj6XgNFeD69+X5LFicQy7+50tIU6hQ9AzQX I9hHejsuh9uJkgZdsSIzyffxuVUdE0l25ekWzSSie4eGNYKviRCg24afOJK/yWUQGMM4 UbxdFQYLZdKKCAyjYq4UvrCMLOT8dKafXD8bxPwYMw+6Et52jY7oeo5rQxL0d/aWO/GX U99A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=F0AJjiYSseSar3j8FYQBkm/uGwjn3oyXe7/oWdhrCrA=; b=pUnRkK2SLhXI8N3paEejSsTxQLXeL5mk9w9ZAfqbEgjCZ0yXbMwNWR6PKSn50HiftA lLAysukJkuQP00R4SHbozPcmazuCdf9XJtpDxBmMl33+cRCzoCu9HLdtZw0f90ib33pG qWOQKciYQFBLUAAq5VfwDRj/BfwmlwNcb+KlehcEf7JDVBihqLpZ0t6I634+CMZCv+4U XglTjc7lbZB8Kw5G35t6xyqtnvlHQc9z3+/8hkUBDNhh0dpfQGgbJflM3cU2+dJ9mjzs P0w9R9Z/3lI+B5DhnCapjC/zMtddcBxRLuDwawcxSq1sCOERuao3w5ekwDRBSHHtxpS6 1L8A== 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=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n8si2542882eju.311.2019.09.27.05.47.03; Fri, 27 Sep 2019 05:47:27 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727707AbfI0Mqj (ORCPT + 99 others); Fri, 27 Sep 2019 08:46:39 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59550 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725992AbfI0Mqj (ORCPT ); Fri, 27 Sep 2019 08:46:39 -0400 Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id DE4C0806CD for ; Fri, 27 Sep 2019 12:46:38 +0000 (UTC) Received: by mail-qk1-f200.google.com with SMTP id s3so2481978qkd.6 for ; Fri, 27 Sep 2019 05:46:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=F0AJjiYSseSar3j8FYQBkm/uGwjn3oyXe7/oWdhrCrA=; b=s1TPxVod3PbZ9OT8uRTBzZTqa82Am+P5rH2lHpc5w5rCGQ0/nOtcBTRbOXea5NrByv fg5aQOcxwBwrt6mp/TguzQDVxzakLBVkTHaRDp0K+ngOF1JdjpJ2UBB5ik38TScIrOnU E214OSXoOjw8lWrcyjdYLXZrCSsVYOgw4qWugo9IGowekQ0CW/ogLq9fYFsDL/VzjvLC wEQEkbeiYr6GYnesUiExYBIIv5DW3nZKyAC8D6D3lpDas9+VgjqG4TeYVBO69D8eTcjK UqDCG2xeGAiqsvVD4azDoGCknIOWk8/hb3Iqaz739U4yGJv21g/Eq43WKo2f3x0MrnkP HDpg== X-Gm-Message-State: APjAAAW4YiCUDzoVwF+/J503BZgTnliUYRF/0lVWqf3Kh5y6co78gpXN eUoompnjf0VDxiJYwpOSlLzrj9VKEv9oG2q1TiI9+ar9eiCT4jya+dxzTDLMMquP4DMwcuEOnOL MH/UrCan6K2mmux7c3/PXHivw X-Received: by 2002:ac8:4799:: with SMTP id k25mr7997669qtq.367.1569588398246; Fri, 27 Sep 2019 05:46:38 -0700 (PDT) X-Received: by 2002:ac8:4799:: with SMTP id k25mr7997659qtq.367.1569588398060; Fri, 27 Sep 2019 05:46:38 -0700 (PDT) Received: from redhat.com (bzq-79-176-40-226.red.bezeqint.net. [79.176.40.226]) by smtp.gmail.com with ESMTPSA id q2sm1095503qkc.68.2019.09.27.05.46.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Sep 2019 05:46:37 -0700 (PDT) Date: Fri, 27 Sep 2019 08:46:31 -0400 From: "Michael S. Tsirkin" To: Jason Wang Cc: Tiwei Bie , alex.williamson@redhat.com, maxime.coquelin@redhat.com, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, dan.daly@intel.com, cunming.liang@intel.com, zhihong.wang@intel.com, lingshan.zhu@intel.com Subject: Re: [PATCH] vhost: introduce mdev based hardware backend Message-ID: <20190927084408-mutt-send-email-mst@kernel.org> References: <20190926045427.4973-1-tiwei.bie@intel.com> <20190926042156-mutt-send-email-mst@kernel.org> <20190926131439.GA11652@___> <8ab5a8d9-284d-bba5-803d-08523c0814e1@redhat.com> <20190927053935-mutt-send-email-mst@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Sep 27, 2019 at 08:17:47PM +0800, Jason Wang wrote: > > On 2019/9/27 下午5:41, Michael S. Tsirkin wrote: > > On Fri, Sep 27, 2019 at 11:27:12AM +0800, Jason Wang wrote: > > > On 2019/9/26 下午9:14, Tiwei Bie wrote: > > > > On Thu, Sep 26, 2019 at 04:35:18AM -0400, Michael S. Tsirkin wrote: > > > > > On Thu, Sep 26, 2019 at 12:54:27PM +0800, Tiwei Bie wrote: > > > > [...] > > > > > > diff --git a/include/uapi/linux/vhost.h b/include/uapi/linux/vhost.h > > > > > > index 40d028eed645..5afbc2f08fa3 100644 > > > > > > --- a/include/uapi/linux/vhost.h > > > > > > +++ b/include/uapi/linux/vhost.h > > > > > > @@ -116,4 +116,12 @@ > > > > > > #define VHOST_VSOCK_SET_GUEST_CID _IOW(VHOST_VIRTIO, 0x60, __u64) > > > > > > #define VHOST_VSOCK_SET_RUNNING _IOW(VHOST_VIRTIO, 0x61, int) > > > > > > +/* VHOST_MDEV specific defines */ > > > > > > + > > > > > > +#define VHOST_MDEV_SET_STATE _IOW(VHOST_VIRTIO, 0x70, __u64) > > > > > > + > > > > > > +#define VHOST_MDEV_S_STOPPED 0 > > > > > > +#define VHOST_MDEV_S_RUNNING 1 > > > > > > +#define VHOST_MDEV_S_MAX 2 > > > > > > + > > > > > > #endif > > > > > So assuming we have an underlying device that behaves like virtio: > > > > I think they are really good questions/suggestions. Thanks! > > > > > > > > > 1. Should we use SET_STATUS maybe? > > > > I like this idea. I will give it a try. > > > > > > > > > 2. Do we want a reset ioctl? > > > > I think it is helpful. If we use SET_STATUS, maybe we > > > > can use it to support the reset. > > > > > > > > > 3. Do we want ability to enable rings individually? > > > > I will make it possible at least in the vhost layer. > > > > > > Note the API support e.g set_vq_ready(). > > virtio spec calls this "enabled" so let's stick to that. > > > Ok. > > > > > > > > > 4. Does device need to limit max ring size? > > > > > 5. Does device need to limit max number of queues? > > > > I think so. It's helpful to have ioctls to report the max > > > > ring size and max number of queues. > > > > > > An issue is the max number of queues is done through a device specific way, > > > usually device configuration space. This is supported by the transport API, > > > but how to expose it to userspace may need more thought. > > > > > > Thanks > > an ioctl for device config? But for v1 I'd be quite happy to just have > > a minimal working device with 2 queues. > > > I'm fully agree, and it will work as long as VIRTIO_NET_F_MQ and > VIRTIO_NET_F_CTRL_VQ is not advertised by the mdev device. > > Thanks Hmm this means we need to validate the features bits, not just pass them through to the hardware. Problem is, how do we add more feature bits later, without testing all hardware? I guess this means the device specific driver must do it. > > > > > > > Thanks!