From: Jason Wang <jasowang@redhat.com>
To: Michael Dalton <mwdalton@google.com>,
"Michael S. Tsirkin" <mst@redhat.com>
Cc: netdev@vger.kernel.org, Eric Dumazet <edumazet@google.com>,
"David S. Miller" <davem@davemloft.net>,
lf-virt <virtualization@lists.linux-foundation.org>
Subject: Re: [PATCH net-next v2 4/4] virtio-net: initial debugfs support, export mergeable rx buffer size
Date: Mon, 13 Jan 2014 15:36:46 +0800 [thread overview]
Message-ID: <52D3978E.4060109@redhat.com> (raw)
In-Reply-To: <CANJ5vP+Vu8=haCetZkcefPgR8pGe0iDZ03EZhJHLSgunCaHJsQ@mail.gmail.com>
On 01/13/2014 07:32 AM, Michael Dalton wrote:
> Hi Michael,
>
> On Sun, Jan 12, 2014 at 9:09 AM, Michael S. Tsirkin <mst@redhat.com> wrote:
>> Can't we add struct attribute * to netdevice, and pass that in when
>> creating the kobj?
> I like that idea, I think that will work and should be better than
> the alternatives. The actual kobjs for RX queues (struct netdev_rx_queue)
> are allocated and deallocated by calls to net_rx_queue_update_kobjects,
> which resizes RX queue kobjects when the netdev RX queues are resized.
>
> Is this what you had in mind:
> (1) Add a pointer to an attribute group to struct net_device, used for
> per-netdev rx queue attributes and initialized before the call to
> register_netdevice().
> (2) Declare an attribute group containing the mergeable_rx_buffer_size
> attribute in virtio-net, and initialize the per-netdevice group pointer
> to the address of this group in virtnet_probe before register_netdevice
> (3) In net-sysfs, modify net_rx_queue_update_kobjects
> (or rx_queue_add_kobject) to call sysfs_create_group on the
> per-netdev attribute group (if non-NULL), adding the attributes in
> the group to the RX queue kobject.
>
> That should allow us to have per-RX queue attributes that are
> device-specific. I'm not a sysfs expert, but it seems that rx_queue_ktype
> and rx_queue_sysfs_ops presume that all rx queue sysfs operations are
> performed on attributes of type rx_queue_attribute. That type will need
> to be moved from net-sysfs.c to a header file like netdevice.h so that
> the type can be used in virtio-net when we declare the
> mergeable_rx_buffer_size attribute.
There's a possible issue, rx queue sysfs depends on CONFIG_RPS. So we
probably need a dedicated attribute just for virtio-net.
>
> The last issue is how the rx_queue_attribute 'show' function
> implementation for mergeable_rx_buffer_size will access the appropriate
> per-receive queue EWMA data. The arguments to the show function will be
> the netdev_rx_queue and the attribute itself. We can get to the
> struct net_device from the netdev_rx_queue. If we extended
> netdev_rx_queue to indicate the queue_index or to store a void *priv_data
> pointer, that would be sufficient to allow us to resolve this issue.
>
> Please let me know if the above sounds good or if you see a better way
> to accomplish this goal. Thanks!
>
> Best,
>
> Mike
next prev parent reply other threads:[~2014-01-13 7:36 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-07 5:25 [PATCH net-next v2 1/4] net: allow > 0 order atomic page alloc in skb_page_frag_refill Michael Dalton
2014-01-07 5:25 ` [PATCH net-next v2 2/4] virtio-net: use per-receive queue page frag alloc for mergeable bufs Michael Dalton
2014-01-07 5:25 ` [PATCH net-next v2 3/4] virtio-net: auto-tune mergeable rx buffer size for improved performance Michael Dalton
2014-01-08 6:23 ` Jason Wang
2014-01-08 18:28 ` Michael Dalton
2014-01-08 18:44 ` Eric Dumazet
2014-01-08 19:16 ` Michael S. Tsirkin
2014-01-08 19:56 ` Michael Dalton
2014-01-08 20:30 ` Michael S. Tsirkin
2014-01-08 20:30 ` Michael S. Tsirkin
2014-01-09 1:42 ` Michael S. Tsirkin
2014-01-09 3:16 ` Michael Dalton
2014-01-09 3:41 ` Michael Dalton
2014-01-09 6:48 ` Michael S. Tsirkin
2014-01-09 8:28 ` Michael Dalton
2014-01-09 9:02 ` Michael Dalton
2014-01-09 13:25 ` Michael S. Tsirkin
2014-01-09 19:33 ` Michael Dalton
2014-01-09 6:42 ` Michael S. Tsirkin
2014-01-07 5:25 ` [PATCH net-next v2 4/4] virtio-net: initial debugfs support, export mergeable rx buffer size Michael Dalton
2014-01-08 6:34 ` Jason Wang
2014-01-08 19:21 ` Michael S. Tsirkin
2014-01-11 5:19 ` Michael Dalton
2014-01-11 5:36 ` Michael Dalton
2014-01-12 17:09 ` Michael S. Tsirkin
2014-01-12 23:32 ` Michael Dalton
2014-01-13 7:36 ` Jason Wang [this message]
2014-01-13 9:40 ` Michael S. Tsirkin
2014-01-13 15:38 ` Ben Hutchings
2014-01-13 19:07 ` Michael Dalton
2014-01-13 19:19 ` Michael Dalton
2014-01-14 21:45 ` Michael Dalton
2014-01-14 21:53 ` Michael S. Tsirkin
2014-01-13 15:38 ` Ben Hutchings
2014-01-08 18:24 ` Michael S. Tsirkin
2014-01-08 18:08 ` [PATCH net-next v2 1/4] net: allow > 0 order atomic page alloc in skb_page_frag_refill Michael S. Tsirkin
2014-01-08 18:08 ` Michael S. Tsirkin
2014-01-08 18:26 ` Eric Dumazet
2014-01-08 19:18 ` Michael S. Tsirkin
2014-01-08 19:46 ` Eric Dumazet
2014-01-08 21:54 ` Debabrata Banerjee
2014-01-08 22:01 ` Eric Dumazet
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52D3978E.4060109@redhat.com \
--to=jasowang@redhat.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=mst@redhat.com \
--cc=mwdalton@google.com \
--cc=netdev@vger.kernel.org \
--cc=virtualization@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.