From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Cc: dev@dpdk.org, Ilya Maximets <i.maximets@samsung.com>,
Dyasly Sergey <s.dyasly@samsung.com>,
Flavio Leitner <fbl@sysclose.org>,
"Xie, Huawei" <huawei.xie@intel.com>
Subject: Re: [RFC] vhost-user public struct refactor (was Re: [PATCH RFC 2/4] vhost: make buf vector for scatter RX) local.
Date: Tue, 05 Apr 2016 10:37:13 +0200 [thread overview]
Message-ID: <1865360.UqzrcfEKI5@xps13> (raw)
In-Reply-To: <20160405054733.GO3080@yliu-dev.sh.intel.com>
2016-04-05 13:47, Yuanhan Liu:
> So, I was considering to add vhost-user Tx delayed-copy (or zero copy)
> support recently, which comes to yet another ABI violation, as we need
> add a new field to virtio_memory_regions struct to do guest phys addr
> to host phys addr translation. You may ask, however, that why do we need
> expose virtio_memory_regions struct to users at all?
>
> You are right, we don't have to. And here is the thing: we exposed way
> too many fields (or even structures) than necessary. Say, vhost_virtqueue
> struct should NOT be exposed to user at all: application just need to
> tell the right queue id to locate a specific queue, and that's all.
> The structure should be defined in an internal header file. With that,
> we could do any changes to it we want, without worrying about that we
> may offense the painful ABI rules.
>
> Similar changes could be done to virtio_net struct as well, just exposing
> very few fields that are necessary and moving all others to an internal
> structure.
>
> Huawei then suggested a more radical yet much cleaner one: just exposing
> a virtio_net handle to application, just like the way kernel exposes an
> fd to user for locating a specific file. However, it's more than an ABI
> change; it's also an API change: some fields are referenced by applications,
> such as flags, virt_qp_nb. We could expose some new functions to access
> them though.
>
> I'd vote for this one, as it sounds very clean to me. This would also
> solve the block issue of this patch. Though it would break OVS, I'm thinking
> that'd be okay, as OVS has dependence on DPDK version: what we need to
> do is just to send few patches to OVS, and let it points to next release,
> say DPDK v16.07. Flavio, please correct me if I'm wrong.
>
> Thoughts/comments?
Do you plan to send a deprecation notice to change API in 16.07?
next prev parent reply other threads:[~2016-04-05 8:38 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-19 6:32 [PATCH RFC 0/4] Thread safe rte_vhost_enqueue_burst() Ilya Maximets
2016-02-19 6:32 ` [PATCH RFC 1/4] vhost: use SMP barriers instead of compiler ones Ilya Maximets
2016-02-19 6:32 ` [PATCH RFC 2/4] vhost: make buf vector for scatter RX local Ilya Maximets
2016-02-19 7:06 ` Yuanhan Liu
2016-02-19 7:30 ` Ilya Maximets
2016-02-19 8:10 ` Xie, Huawei
2016-04-05 5:47 ` [RFC] vhost-user public struct refactor (was Re: [PATCH RFC 2/4] vhost: make buf vector for scatter RX) local Yuanhan Liu
2016-04-05 8:37 ` Thomas Monjalon [this message]
2016-04-05 14:06 ` Yuanhan Liu
2016-04-06 4:14 ` Flavio Leitner
2016-04-06 4:54 ` Yuanhan Liu
2016-02-19 6:32 ` [PATCH RFC 3/4] vhost: avoid reordering of used->idx and last_used_idx updating Ilya Maximets
2016-02-19 6:32 ` [PATCH RFC 4/4] doc: add note about rte_vhost_enqueue_burst thread safety Ilya Maximets
2016-02-19 7:10 ` Yuanhan Liu
2016-02-19 8:36 ` Xie, Huawei
2016-02-19 9:05 ` Ilya Maximets
2016-02-22 2:07 ` Xie, Huawei
2016-02-22 10:14 ` Thomas Monjalon
2016-02-23 5:56 ` Xie, Huawei
2016-02-24 5:06 ` Ilya Maximets
2016-02-25 5:12 ` Xie, Huawei
-- strict thread matches above, loose matches on Subject: below --
2016-04-06 5:11 [RFC] vhost-user public struct refactor (was Re: [PATCH RFC 2/4] vhost: make buf vector for scatter RX) local Ilya Maximets
2016-04-06 5:38 ` Yuanhan Liu
2016-04-06 6:00 Ilya Maximets
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=1865360.UqzrcfEKI5@xps13 \
--to=thomas.monjalon@6wind.com \
--cc=dev@dpdk.org \
--cc=fbl@sysclose.org \
--cc=huawei.xie@intel.com \
--cc=i.maximets@samsung.com \
--cc=s.dyasly@samsung.com \
--cc=yuanhan.liu@linux.intel.com \
/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.