From nobody Fri Apr 26 13:28:21 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=virtuozzo.com ARC-Seal: i=1; a=rsa-sha256; t=1573220731; cv=none; d=zoho.com; s=zohoarc; b=nGNAMHf/6E0OhihlvLZsFmjzPFp+I5yqd5Opwe7JmtnLNDM5dvzj9bRW56Y40J0JsTMV+27kvTj+yW1ewAqFIixmBAENlY7oCUD64exwa4QoZnkT/KEPk6lNvDalSq3Wffenq6SEClnK75mDYZg0Pwa4MIUyLTTI69DmBB786ac= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1573220731; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=MZaTF65SZXC+GLCy9YUsOqmaPZ4n7AG4O/BnBUTe0BI=; b=Hj7MpDc/CGrZ2CfJ4UA2HRi3YOrxjcMDhFGR8Cu4IOAjVYDaxqcO0PJfGEfv139NqlF80PVWZ2WKbwP9IS5ZCThW6t2L0GoKYFJYZBT4d/MHckiG8pVdg3Mj/X9AjGESVDH1sitmeXYqZr3GldoSnSVR9VTmRwqOfqQzgrnfTE8= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 157322073174360.34977323935084; Fri, 8 Nov 2019 05:45:31 -0800 (PST) Received: from localhost ([::1]:54580 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iT4Zt-0005IM-DV for importer@patchew.org; Fri, 08 Nov 2019 08:45:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58382) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iT4Xm-0003B9-0C for qemu-devel@nongnu.org; Fri, 08 Nov 2019 08:43:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iT4Xk-0002Wr-JG for qemu-devel@nongnu.org; Fri, 08 Nov 2019 08:43:17 -0500 Received: from relay.sw.ru ([185.231.240.75]:35426) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iT4Xk-0002TS-Ba; Fri, 08 Nov 2019 08:43:16 -0500 Received: from [10.94.4.71] (helo=dptest2.qa.sw.ru) by relay.sw.ru with esmtp (Exim 4.92.3) (envelope-from ) id 1iT4Xh-0003uX-7k; Fri, 08 Nov 2019 16:43:13 +0300 From: Denis Plotnikov To: qemu-devel@nongnu.org Subject: [PATCH v2 1/1] virtio: make seg_max virtqueue size dependent Date: Fri, 8 Nov 2019 16:42:49 +0300 Message-Id: <20191108134249.19004-2-dplotnikov@virtuozzo.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20191108134249.19004-1-dplotnikov@virtuozzo.com> References: <20191108134249.19004-1-dplotnikov@virtuozzo.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 185.231.240.75 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: den@virtuozzo.com, stefanha@redhat.com, qemu-block@nongnu.org, mst@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" seg_max has a restriction to be less or equal to virtqueue size according to Virtio 1.0 specification Although seg_max can't be set directly, it's worth to express this dependancy directly in the code for sanity purpose. Signed-off-by: Denis Plotnikov --- hw/block/virtio-blk.c | 2 +- hw/scsi/virtio-scsi.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c index 06e57a4d39..21530304cf 100644 --- a/hw/block/virtio-blk.c +++ b/hw/block/virtio-blk.c @@ -903,7 +903,7 @@ static void virtio_blk_update_config(VirtIODevice *vdev= , uint8_t *config) blk_get_geometry(s->blk, &capacity); memset(&blkcfg, 0, sizeof(blkcfg)); virtio_stq_p(vdev, &blkcfg.capacity, capacity); - virtio_stl_p(vdev, &blkcfg.seg_max, 128 - 2); + virtio_stl_p(vdev, &blkcfg.seg_max, s->conf.queue_size - 2); virtio_stw_p(vdev, &blkcfg.geometry.cylinders, conf->cyls); virtio_stl_p(vdev, &blkcfg.blk_size, blk_size); virtio_stw_p(vdev, &blkcfg.min_io_size, conf->min_io_size / blk_size); diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c index 839f120256..f7e5533cd5 100644 --- a/hw/scsi/virtio-scsi.c +++ b/hw/scsi/virtio-scsi.c @@ -650,7 +650,7 @@ static void virtio_scsi_get_config(VirtIODevice *vdev, VirtIOSCSICommon *s =3D VIRTIO_SCSI_COMMON(vdev); =20 virtio_stl_p(vdev, &scsiconf->num_queues, s->conf.num_queues); - virtio_stl_p(vdev, &scsiconf->seg_max, 128 - 2); + virtio_stl_p(vdev, &scsiconf->seg_max, s->conf.virtqueue_size - 2); virtio_stl_p(vdev, &scsiconf->max_sectors, s->conf.max_sectors); virtio_stl_p(vdev, &scsiconf->cmd_per_lun, s->conf.cmd_per_lun); virtio_stl_p(vdev, &scsiconf->event_info_size, sizeof(VirtIOSCSIEvent)= ); --=20 2.17.0