Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp5430737ybp; Mon, 14 Oct 2019 22:36:49 -0700 (PDT) X-Google-Smtp-Source: APXvYqw842TQSJeyodKts9qdw1HdnLDiIQnTq1FXVp9S7q5t4VED59Iz1+FQwtdVkBUPIJJc7JF2 X-Received: by 2002:a17:906:7d10:: with SMTP id u16mr33101792ejo.329.1571117809844; Mon, 14 Oct 2019 22:36:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571117809; cv=none; d=google.com; s=arc-20160816; b=rabFMRIEk93PX3KyHjcWhKuZwLzk3hneW4EfK7SuTcb0WDHkGSMbf1dV5+HIAzT5IY wqCHWM6i8hGlq26SLnzIA1QNn+0oN/nImFCBy6IPi/ctbXtQqGisVSreriH7sknqVeFT fl8SqJDOmypsW4yRQ7dgYqrZAy5GZwokOa9blT1TzOCfgi/K7Phlbi8LWAyr4szCyrxJ c6aMpZBovKAOvff4NMCqlv5YHHjThZAObK8VbBRoH2oI5fp4Y29wBp8sXJ4b7oSbDqK3 NfH2WJYaPTZVFYDuQMvto3qLsIE+vTFC0Rk7PgWUdO4WJCXMcgodOLspiBklm+KLg881 /Rvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=YFx6kZQH9VKHfc0ZeYMFgAmUSSFKKPf3GK57nuDx8Lg=; b=hIpbQ9FwqMiBMtPd+QvNVjoVIb0kntzCoNNeFtacWucWBLbNOHYBRgiYGLx6RL15Ae RBGXbhFNcHSLFhqKlizDWaMFlrkATHtEMqW/kucO3dYL6ecs+g+3C+QdzVkhend7B2a3 4U99LePIl2aUIsM3JV8SogwziP6Vz8EfTlK03JAmycqoDMAeCYCqlK8xshl4Llo4Nb2h 6ATuo5OzLoWqQd11KN1mDHx/slJe1pJ6OmADg6nrNiIwqixmVaqX2PJbginyTIz+ZIYu Osvrcg/s/aVSEYNirOIx2e6b991t/kNduCoLyvXUoyFpHlfvOT8mD9y+eASedoWxPila BsAw== 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 e5si12408854ejj.70.2019.10.14.22.36.26; Mon, 14 Oct 2019 22:36:49 -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 S1727822AbfJOD3b (ORCPT + 99 others); Mon, 14 Oct 2019 23:29:31 -0400 Received: from mx1.redhat.com ([209.132.183.28]:38814 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727092AbfJOD3b (ORCPT ); Mon, 14 Oct 2019 23:29:31 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4C10D308624A; Tue, 15 Oct 2019 03:29:30 +0000 (UTC) Received: from [10.72.12.168] (ovpn-12-168.pek2.redhat.com [10.72.12.168]) by smtp.corp.redhat.com (Postfix) with ESMTP id 76A635D6A9; Tue, 15 Oct 2019 03:29:09 +0000 (UTC) Subject: Re: [PATCH V3 6/7] virtio: introduce a mdev based transport To: Stefan Hajnoczi Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, kwankhede@nvidia.com, alex.williamson@redhat.com, mst@redhat.com, tiwei.bie@intel.com, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, cohuck@redhat.com, maxime.coquelin@redhat.com, cunming.liang@intel.com, zhihong.wang@intel.com, rob.miller@broadcom.com, xiao.w.wang@intel.com, haotian.wang@sifive.com, zhenyuw@linux.intel.com, zhi.a.wang@intel.com, jani.nikula@linux.intel.com, joonas.lahtinen@linux.intel.com, rodrigo.vivi@intel.com, airlied@linux.ie, daniel@ffwll.ch, farman@linux.ibm.com, pasic@linux.ibm.com, sebott@linux.ibm.com, oberpar@linux.ibm.com, heiko.carstens@de.ibm.com, gor@linux.ibm.com, borntraeger@de.ibm.com, akrowiak@linux.ibm.com, freude@linux.ibm.com, lingshan.zhu@intel.com, idos@mellanox.com, eperezma@redhat.com, lulu@redhat.com, parav@mellanox.com, christophe.de.dinechin@gmail.com, kevin.tian@intel.com References: <20191011081557.28302-1-jasowang@redhat.com> <20191011081557.28302-7-jasowang@redhat.com> <20191014173942.GB5359@stefanha-x1.localdomain> From: Jason Wang Message-ID: Date: Tue, 15 Oct 2019 11:29:07 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20191014173942.GB5359@stefanha-x1.localdomain> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Tue, 15 Oct 2019 03:29:30 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2019/10/15 上午1:39, Stefan Hajnoczi wrote: > On Fri, Oct 11, 2019 at 04:15:56PM +0800, Jason Wang wrote: >> +struct virtio_mdev_device { >> + struct virtio_device vdev; >> + struct mdev_device *mdev; >> + unsigned long version; >> + >> + struct virtqueue **vqs; >> + /* The lock to protect virtqueue list */ >> + spinlock_t lock; >> + struct list_head virtqueues; > Is this a list of struct virtio_mdev_vq_info? Please document the > actual type in a comment. Ok. >> +static int virtio_mdev_find_vqs(struct virtio_device *vdev, unsigned nvqs, >> + struct virtqueue *vqs[], >> + vq_callback_t *callbacks[], >> + const char * const names[], >> + const bool *ctx, >> + struct irq_affinity *desc) >> +{ >> + struct virtio_mdev_device *vm_dev = to_virtio_mdev_device(vdev); >> + struct mdev_device *mdev = vm_get_mdev(vdev); >> + const struct virtio_mdev_device_ops *ops = mdev_get_dev_ops(mdev); >> + struct virtio_mdev_callback cb; >> + int i, err, queue_idx = 0; >> + >> + vm_dev->vqs = kmalloc_array(queue_idx, sizeof(*vm_dev->vqs), >> + GFP_KERNEL); > kmalloc_array(0, ...)? I would have expected nvqs instead of queue_idx > (0). > > What is this the purpose of vm_dev->vqs and does anything ever access it? It's useless, will remove it. Thanks