Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp60374pxj; Wed, 9 Jun 2021 16:30:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyvLk3Ybptm4vKfXlAlqo0PY7ss8XZxu7CCvxUHU+xNUFeqP1sZkhNcuzd4FxvVHlgGhAc4 X-Received: by 2002:a17:906:82c3:: with SMTP id a3mr1878870ejy.230.1623281459666; Wed, 09 Jun 2021 16:30:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623281459; cv=none; d=google.com; s=arc-20160816; b=L8flloiiN/aL7dgisrVyhyr/akz3sIgZ2KeR8b0wvL9ltMijI4OI4hmYDeHxXk8SFF tg4Tk644KzN3VCGUGSXKAiJQKMGqq5Pa5481ZynHUz+Tany9o961j7JttW1B9VEQ4baN 0slnTnG/P7KENNM8HFW+48AmAhs+xtGmXXMiuD2Ze3ndMEWwFeL+fquROwuA2XWFSEfI JLsmZPYIXxjT11KGzX/xqUjqUTrprS4n4eEZDWdXqk11qJ+YMBdBSlJybRDRPYICy4HK dbiqz9fudWgtmR9+ukYvJcUKUklRKbEC7IexJMLXww3tt/r+R4d04q6OuS0VcyPqPNWd p4vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=XAzb3VkfUYxU1teKArHCgpj6NOb9ejMO6tAx0JjUIoQ=; b=Q2bwOq/8KDYjb7KEzMa5oO9iFrYdFOXjX0Np1do7Dj+ZXodCoK9zSG5w8oMb2Cah31 v2pQqhhgfD6OmDzOsOxbyncm/X2pgHVx8Sb4w7hcw6j3aKQBFXyXUiD9bYQ5uGD/688G fMdBzKj1pw3dXLaIIhM9ddMw/xgXbmvBud6cbu6kumclOzE8b6mveiQChJqRup+cBw5L Vhx7da7BXJLx9bbcCSToOJRta6tAQi4UCU0tG4S6T9q5I+R1GusQ+4NNQqZMZzuyLboY CEIqlFk7hcy+v4aCbx7WtyY8XCi1/aLMunMgFeXav8DFjiVZIEIMCmgWyOwlRmMzqfBx q1/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bytedance-com.20150623.gappssmtp.com header.s=20150623 header.b=O88kABLy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=bytedance.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i13si889027ejo.338.2021.06.09.16.30.36; Wed, 09 Jun 2021 16:30:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@bytedance-com.20150623.gappssmtp.com header.s=20150623 header.b=O88kABLy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=bytedance.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230087AbhFIXaM (ORCPT + 99 others); Wed, 9 Jun 2021 19:30:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45052 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229989AbhFIXaF (ORCPT ); Wed, 9 Jun 2021 19:30:05 -0400 Received: from mail-pf1-x435.google.com (mail-pf1-x435.google.com [IPv6:2607:f8b0:4864:20::435]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1EE3DC0617A8 for ; Wed, 9 Jun 2021 16:27:54 -0700 (PDT) Received: by mail-pf1-x435.google.com with SMTP id s14so31055pfd.9 for ; Wed, 09 Jun 2021 16:27:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=XAzb3VkfUYxU1teKArHCgpj6NOb9ejMO6tAx0JjUIoQ=; b=O88kABLyJToxtXQQFFjKPeMLrJ6YesZtMujpSNeGlQr4FiygAaEUmju5bI0djjtyMO fmcAoWXx+PQjavZKTMLpBmCljJ1id5ISpmeoUMvTwVllZ38QED5U5oIuNgaW/8FJouyL OiLP0c9ZxGG9OOuD6Jj5yFH8xh1WJo4xhhiJnI4Ewx6elUoDWibQFNeKjkHo6Q41BgVZ 6OhFZ6U33EpgC9MKiUFgd9OVoT0548QMf4OzuoRrZcGp5QgdYh/+iS6Pzfu0KaDlqjjv FBKDBtgmajPmIt/ZcOzKSapooa1CDhL0tp2kafx6jHLIeKGMC1KlffQdYwljAhBcx5Rl UFjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=XAzb3VkfUYxU1teKArHCgpj6NOb9ejMO6tAx0JjUIoQ=; b=FUldhqKq0zBzcr3sqOBGL/paIOW4juyFqzXYtOsF1PtZZoBtvL6KuQWhxAmi/E1oqq P93nw6SkE6XlzgQPaascjKnadEXvlGQaY17AW6JHLeJju1YaSo76GAQw1jdeuVbAAVex UFBRcDXqymHisoQDynHDXN0cjSbPTq9UUX4joLFaN0C0afbmg3z9DgwlB3JyNejrLQ3q m/69Kelh6oZPR3s6epsIfddtR7I+Pn/BzghuCEChyqtXADdi4kWbo3FRXNafglMGTB3l W9akJ965X+WIj8b7DZl/FgR/hfwl8PLVKYY4U8TgRWSwCG47A1dPo4ftnTgB40B4TreU bM7A== X-Gm-Message-State: AOAM5300UTmrOJzli6XSMB2zIv7EqS1R5+5M0AseSzkjZFIMfQ4NQ1qj vIK5mOqlHPAdBq+JvQNOieNBoA== X-Received: by 2002:a63:de02:: with SMTP id f2mr2100758pgg.32.1623281273711; Wed, 09 Jun 2021 16:27:53 -0700 (PDT) Received: from n124-121-013.byted.org (ec2-54-241-92-238.us-west-1.compute.amazonaws.com. [54.241.92.238]) by smtp.gmail.com with ESMTPSA id k1sm526783pfa.30.2021.06.09.16.27.52 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 Jun 2021 16:27:53 -0700 (PDT) From: Jiang Wang To: sgarzare@redhat.com Cc: virtualization@lists.linux-foundation.org, stefanha@redhat.com, mst@redhat.com, arseny.krasnov@kaspersky.com, jhansen@vmware.comments, cong.wang@bytedance.com, duanxiongchun@bytedance.com, xieyongji@bytedance.com, chaiwen.cc@bytedance.com, Jason Wang , "David S. Miller" , Jakub Kicinski , Steven Rostedt , Ingo Molnar , Colin Ian King , Norbert Slusarek , Andra Paraschiv , Lu Wei , Alexander Popov , kvm@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RFC v1 6/6] virtio/vsock: add sysfs for rx buf len for dgram Date: Wed, 9 Jun 2021 23:24:58 +0000 Message-Id: <20210609232501.171257-7-jiang.wang@bytedance.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20210609232501.171257-1-jiang.wang@bytedance.com> References: <20210609232501.171257-1-jiang.wang@bytedance.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Make rx buf len configurable via sysfs Signed-off-by: Jiang Wang --- net/vmw_vsock/virtio_transport.c | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/net/vmw_vsock/virtio_transport.c b/net/vmw_vsock/virtio_transport.c index cf47aadb0c34..2e4dd9c48472 100644 --- a/net/vmw_vsock/virtio_transport.c +++ b/net/vmw_vsock/virtio_transport.c @@ -29,6 +29,14 @@ static struct virtio_vsock __rcu *the_virtio_vsock; static struct virtio_vsock *the_virtio_vsock_dgram; static DEFINE_MUTEX(the_virtio_vsock_mutex); /* protects the_virtio_vsock */ +static int rx_buf_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; +static struct kobject *kobj_ref; +static ssize_t sysfs_show(struct kobject *kobj, + struct kobj_attribute *attr, char *buf); +static ssize_t sysfs_store(struct kobject *kobj, + struct kobj_attribute *attr, const char *buf, size_t count); +static struct kobj_attribute rxbuf_attr = __ATTR(rx_buf_value, 0660, sysfs_show, sysfs_store); + struct virtio_vsock { struct virtio_device *vdev; struct virtqueue **vqs; @@ -360,7 +368,7 @@ virtio_transport_cancel_pkt(struct vsock_sock *vsk) static void virtio_vsock_rx_fill(struct virtio_vsock *vsock, bool is_dgram) { - int buf_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; + int buf_len = rx_buf_len; struct virtio_vsock_pkt *pkt; struct scatterlist hdr, buf, *sgs[2]; struct virtqueue *vq; @@ -1003,6 +1011,22 @@ static struct virtio_driver virtio_vsock_driver = { .remove = virtio_vsock_remove, }; +static ssize_t sysfs_show(struct kobject *kobj, + struct kobj_attribute *attr, char *buf) +{ + return sprintf(buf, "%d", rx_buf_len); +} + +static ssize_t sysfs_store(struct kobject *kobj, + struct kobj_attribute *attr, const char *buf, size_t count) +{ + if (kstrtou32(buf, 0, &rx_buf_len) < 0) + return -EINVAL; + if (rx_buf_len < 1024) + rx_buf_len = 1024; + return count; +} + static int __init virtio_vsock_init(void) { int ret; @@ -1020,8 +1044,17 @@ static int __init virtio_vsock_init(void) if (ret) goto out_vci; - return 0; + kobj_ref = kobject_create_and_add("vsock", kernel_kobj); + /*Creating sysfs file for etx_value*/ + ret = sysfs_create_file(kobj_ref, &rxbuf_attr.attr); + if (ret) + goto out_sysfs; + + return 0; +out_sysfs: + kobject_put(kobj_ref); + sysfs_remove_file(kernel_kobj, &rxbuf_attr.attr); out_vci: vsock_core_unregister(&virtio_transport.transport); out_wq: -- 2.11.0