Received: by 2002:a05:6358:bb9e:b0:b9:5105:a5b4 with SMTP id df30csp4097144rwb; Tue, 6 Sep 2022 02:26:02 -0700 (PDT) X-Google-Smtp-Source: AA6agR4iCExwKK4SyBIsAW1geinHp13+P1Tv/7xezBD4RzPlfheERVfO11PtBAC2OzTkiUpY+7Zg X-Received: by 2002:a17:907:272a:b0:741:855c:8875 with SMTP id d10-20020a170907272a00b00741855c8875mr27693904ejl.575.1662456362708; Tue, 06 Sep 2022 02:26:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1662456362; cv=none; d=google.com; s=arc-20160816; b=azFo7k0LbJcbkFIMHmY1qH9y5VzKEHhC5w6D4n675AjmzTdnPE+T3aJxWsAp4C8JH6 gUIOTnvflaIoLyx+AU8YNyhda0qajQG47/YPUwsixrdhil7Xor12gyC/LLm409yhgKhm yDXLhHzWxGnswsZHjMPlcZhLSdg90XvKnESN1VunYfmcFGFnJ63H61VJyaDfi3IZ1Rd5 +YCnWRuvxaRAty8/B4OzZBxrCifqCFrnS/7Jy3cwuIO+3Cd8IyE4rO24ofa4ccKRBFUG clXSrVBEX1apQ/+dBKUh4UPhm+BYcuSn7qGZLOhz8E+qJ7TjE1lsUZhEc7kg2J+yZO/4 eUyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=uEYw8dkEXgcUOX7V93X65x+uXJi/wlkI4CEWgXjX+U8=; b=UusOMJTkfOX9GDqSEjDAQG+zgSkeDiF5p4cXfruOVNjaOeAMlzEaf6xeCxYjGpfxCa mwO4VbQR6nbCQqIJ3270kAFDFvAAmXIwEjSkIzvZx+UgX+XG71HKYDCP4GhHex4IQVev V+msyRmM8905AW4uB78hg0hBiGzuZNPTPTOvCguAdBO2RTNbHAMA7eLkGdK8Riufo4Tg cXT6l7nSIesK6uBTIPXIFnVC1syxwbRvs0Du+QBlATFaxo4gR7IgIBJmIlT9tFdDxZJd r5TM+PG5q15VIR8DVlLoN5ACdkvSdrrCOQh1eE+M5Q3CAU2PSiZhwB8HZioxNt7a8ycp f1/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=f4WDrH2y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id wy1-20020a170906fe0100b0076f4466cde5si559135ejb.488.2022.09.06.02.25.25; Tue, 06 Sep 2022 02:26:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=f4WDrH2y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238620AbiIFJBS (ORCPT + 99 others); Tue, 6 Sep 2022 05:01:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60868 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239017AbiIFJBO (ORCPT ); Tue, 6 Sep 2022 05:01:14 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B65061BEAF for ; Tue, 6 Sep 2022 02:01:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1662454867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=uEYw8dkEXgcUOX7V93X65x+uXJi/wlkI4CEWgXjX+U8=; b=f4WDrH2yCHdNf4gcYT4cyG1sO3xIORq+jNXNmuWeFra6DDVUVJL9QKPKKGSM+Nws1rkVd/ DvgYKOzgNkeVFeReq6Dl6oqgTuGCK60KMweGNi92maVlkIB65eYRqiiiU8l+23kHLDj+HU rzj8oMvsbknp60BUxkl1A+TZmXKd1SY= Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-347-KYX-yibRNJeR13XULlG9bg-1; Tue, 06 Sep 2022 05:01:06 -0400 X-MC-Unique: KYX-yibRNJeR13XULlG9bg-1 Received: by mail-qk1-f199.google.com with SMTP id bs43-20020a05620a472b00b006bb56276c94so8588083qkb.10 for ; Tue, 06 Sep 2022 02:01:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date; bh=uEYw8dkEXgcUOX7V93X65x+uXJi/wlkI4CEWgXjX+U8=; b=2EZ+pWzyVJS9XaIsZmY3kB3aT/nSLxoELToCBvKxjjD/ZjWs83cwPdsEmt4iD/mcPa 2e8xSRC5FntJrdmMfDRed0qjk3/ERXiWjfYCIlyQlvq0kzrO8IDc5qeoIR9tpMBHFQNm VTMQLRPUp4JrP285G524HOIAcFSgGaoscGKxFNvTCP42AynvWd8ktCM23DyReqD/mwn6 e8CFIQ76bz3ZiavjvHmJCBdLt3N2gi4frJPVqSnK2YiSmeEtdsc3wD7k92qi5GoodaZY 2tEY3eFTCoTTFrZVPt578qbBfcgwrKG8z4wcXs5bHdX0i1hp2vgskYm14WaS80YfkiwQ KiVQ== X-Gm-Message-State: ACgBeo3mBhdP7livo29UPdylU4Gck7q5dRAYXu+zVQWlcgBzuFfo4IuG ++8NXshAZ9cajGRpjb7P0CBHGnlCB/31NKVS+zyJDcQfp4JbFWzZCFLCVhdffMmzypI+5uudJkT 2HlYdBORdX+hJ/ix0r2tdY9Ze X-Received: by 2002:a05:620a:4711:b0:6bb:7e1b:5f0b with SMTP id bs17-20020a05620a471100b006bb7e1b5f0bmr33657203qkb.127.1662454866189; Tue, 06 Sep 2022 02:01:06 -0700 (PDT) X-Received: by 2002:a05:620a:4711:b0:6bb:7e1b:5f0b with SMTP id bs17-20020a05620a471100b006bb7e1b5f0bmr33657178qkb.127.1662454865958; Tue, 06 Sep 2022 02:01:05 -0700 (PDT) Received: from sgarzare-redhat (host-87-11-6-69.retail.telecomitalia.it. [87.11.6.69]) by smtp.gmail.com with ESMTPSA id z20-20020ac87cb4000000b0031f36cd1958sm8888786qtv.81.2022.09.06.02.01.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Sep 2022 02:01:04 -0700 (PDT) Date: Tue, 6 Sep 2022 11:00:48 +0200 From: Stefano Garzarella To: Jason Wang Cc: "Michael S. Tsirkin" , Bobby Eshleman , Bobby Eshleman , Bobby Eshleman , Cong Wang , Jiang Wang , Stefan Hajnoczi , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , "K. Y. Srinivasan" , Haiyang Zhang , Stephen Hemminger , Wei Liu , Dexuan Cui , kvm@vger.kernel.org, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org Subject: Re: [PATCH 0/6] virtio/vsock: introduce dgrams, sk_buff, and qdisc Message-ID: <20220906090048.xdwdnxy3dvuos36x@sgarzare-redhat> References: <20220817025250-mutt-send-email-mst@kernel.org> <3abb1be9-b12c-e658-0391-8461e28f1b33@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <3abb1be9-b12c-e658-0391-8461e28f1b33@redhat.com> X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Aug 18, 2022 at 12:28:48PM +0800, Jason Wang wrote: > >在 2022/8/17 14:54, Michael S. Tsirkin 写道: >>On Mon, Aug 15, 2022 at 10:56:03AM -0700, Bobby Eshleman wrote: >>>Hey everybody, >>> >>>This series introduces datagrams, packet scheduling, and sk_buff usage >>>to virtio vsock. >>> >>>The usage of struct sk_buff benefits users by a) preparing vsock to use >>>other related systems that require sk_buff, such as sockmap and qdisc, >>>b) supporting basic congestion control via sock_alloc_send_skb, and c) >>>reducing copying when delivering packets to TAP. >>> >>>The socket layer no longer forces errors to be -ENOMEM, as typically >>>userspace expects -EAGAIN when the sk_sndbuf threshold is reached and >>>messages are being sent with option MSG_DONTWAIT. >>> >>>The datagram work is based off previous patches by Jiang Wang[1]. >>> >>>The introduction of datagrams creates a transport layer fairness issue >>>where datagrams may freely starve streams of queue access. This happens >>>because, unlike streams, datagrams lack the transactions necessary for >>>calculating credits and throttling. >>> >>>Previous proposals introduce changes to the spec to add an additional >>>virtqueue pair for datagrams[1]. Although this solution works, using >>>Linux's qdisc for packet scheduling leverages already existing systems, >>>avoids the need to change the virtio specification, and gives additional >>>capabilities. The usage of SFQ or fq_codel, for example, may solve the >>>transport layer starvation problem. It is easy to imagine other use >>>cases as well. For example, services of varying importance may be >>>assigned different priorities, and qdisc will apply appropriate >>>priority-based scheduling. By default, the system default pfifo qdisc is >>>used. The qdisc may be bypassed and legacy queuing is resumed by simply >>>setting the virtio-vsock%d network device to state DOWN. This technique >>>still allows vsock to work with zero-configuration. >>The basic question to answer then is this: with a net device qdisc >>etc in the picture, how is this different from virtio net then? >>Why do you still want to use vsock? > > >Or maybe it's time to revisit an old idea[1] to unify at least the >driver part (e.g using virtio-net driver for vsock then we can all >features that vsock is lacking now)? Sorry for coming late to the discussion! This would be great, though, last time I had looked at it, I had found it quite complicated. The main problem is trying to avoid all the net-specific stuff (MTU, ethernet header, HW offloading, etc.). Maybe we could start thinking about this idea by adding a new transport to vsock (e.g. virtio-net-vsock) completely separate from what we have now. Thanks, Stefano