From: "Michael S. Tsirkin" <mst@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: vyasevic@redhat.com, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, Patrick McHardy <kaber@trash.net>
Subject: Re: [PATCH net-next] macvtap/macvlan: use IFF_NO_QUEUE
Date: Thu, 27 Aug 2015 13:43:39 +0300 [thread overview]
Message-ID: <20150827134102-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <55DD527A.8040806@redhat.com>
On Wed, Aug 26, 2015 at 01:45:30PM +0800, Jason Wang wrote:
>
>
> On 08/26/2015 12:32 AM, Vlad Yasevich wrote:
> > On 08/25/2015 07:30 AM, Jason Wang wrote:
> >>
> >> On 08/25/2015 06:17 PM, Michael S. Tsirkin wrote:
> >>> On Mon, Aug 24, 2015 at 04:33:12PM +0800, Jason Wang wrote:
> >>>>> For macvlan, switch to use IFF_NO_QUEUE instead of tx_queue_len = 0.
> >>>>>
> >>>>> For macvtap, after commit 6acf54f1cf0a6747bac9fea26f34cfc5a9029523
> >>>>> ("macvtap: Add support of packet capture on macvtap
> >>>>> device."). Multiqueue macvtap suffers from single qdisc lock
> >>>>> contention. This is because macvtap claims a non zero tx_queue_len and
> >>>>> it reuses this value as it socket receive queue size.Thanks to
> >>>>> IFF_NO_QUEUE, we can remove the lock contention without breaking
> >>>>> existing socket receive queue length logic.
> >>>>>
> >>>>> Cc: Patrick McHardy <kaber@trash.net>
> >>>>> Cc: Vladislav Yasevich <vyasevic@redhat.com>
> >>>>> Cc: Michael S. Tsirkin <mst@redhat.com>
> >>>>> Signed-off-by: Jason Wang <jasowang@redhat.com>
> >>> Seems to make sense. Give me a day or two to get over the jet lag
> >>> (and get out from under the pile of mail accumulated while I was traveling),
> >>> I'll review properly and ack.
> >>>
> >> A note on this patch: only default qdisc were removed but we don't lose
> >> the ability to attach a qdisc to macvtap (though it may cause lock
> >> contention on multiqueue case).
> >>
> > Wouldn't that lock contention be solved if we really had multiple queues
> > for multi-queue macvtaps?
> >
> > -vlad
>
> Yes, but this introduce another layer of txq locks contention?
I don't follow - why does it? Could you clarify please?
> And it
> also needs macvlan multiqueue support. We used to do something like this
> but switch to NETIF_F_LLTX finally. You may refer:
>
> 2c11455321f37da6fe6cc36353149f9ac9183334 macvlan: add multiqueue capability
> 8ffab51b3dfc54876f145f15b351c41f3f703195 macvlan: lockless tx path
My concern is that the moment someone configures a non-standard qdisc
scalability suddenly disappears. That would also be tricky to debug in the
field as not a lot of developers use non-standard qdiscs.
What do you think?
--
MST
next prev parent reply other threads:[~2015-08-27 10:43 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-24 8:33 [PATCH net-next] macvtap/macvlan: use IFF_NO_QUEUE Jason Wang
2015-08-25 10:17 ` Michael S. Tsirkin
2015-08-25 11:30 ` Jason Wang
2015-08-25 16:32 ` Vlad Yasevich
2015-08-26 5:45 ` Jason Wang
2015-08-27 10:43 ` Michael S. Tsirkin [this message]
2015-08-28 2:42 ` Jason Wang
2015-08-28 12:25 ` Vlad Yasevich
2015-08-31 2:45 ` Jason Wang
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=20150827134102-mutt-send-email-mst@redhat.com \
--to=mst@redhat.com \
--cc=jasowang@redhat.com \
--cc=kaber@trash.net \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=vyasevic@redhat.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.