All of lore.kernel.org
 help / color / mirror / Atom feed
* [net-next rfc V2 0/8] Multiqueue API for macvtap
@ 2013-05-31  9:53 Jason Wang
  2013-05-31  9:53 ` [net-next rfc V2 1/8] macvtap: do not add self to waitqueue if doing a nonblock read Jason Wang
                   ` (7 more replies)
  0 siblings, 8 replies; 17+ messages in thread
From: Jason Wang @ 2013-05-31  9:53 UTC (permalink / raw)
  To: davem, netdev, linux-kernel, mst; +Cc: Jason Wang

Hi all:

This series implements a v2 of fully tuntap compatiable API which could be used
by userspace to manage multiple macvtap queues. The main parts is to add
TUNSETQUEUE ioctl support for macvtap.

Patch 1 - 4 was some tuntap compatibility and misc cleanups.
Patch 5 removes the linear search in macvtap by reshuffling the macvtaps array
each time a queue is removed. After this, we could store both enabled and
disabled queues in the same array without introducing extra data structure.
Patch 6 let TUNSETIFF can create multiqueue device, nothing but some check
were added.
Patch 7 implement TUNSETQUEUE ioctl
Patch 8 reports IFF_MULTI_QUEUE to userspace to notify the userspace that the
multiqueue API is completed.

Flow caches implememtation were missed in this version, since I am doing
rework on the tuntap flow caches. Have some some stress test with both netperf
and pktgen.

Please review, thanks.

Changes from V1:
- Drop the patch of "return -EBADFD when TUNGETIFF fails" to preserve backward
  compatibility
- Add a small patch of optimizing macvtap_do_read() (see patch 1/8)
- Use different functions to do tap enabling and creating
- Use different functions to do tap disabling and closing
- Remove the emtpy line in patch 6/8
- Add a line in patch 3/8
- Add a comment to explain the checking when doing TUNSETIFF with
  IFF_MULTI_QUEUE
- Add comments to explian the second swapping when moving taps between disabled
  areas and enabled areas.
- Fix the commit log of patch 7/8 ( v1 says the linked list were used which is
  wrong )
- Other minor bug fixes

Jason Wang (8):
  macvtap: do not add self to waitqueue if doing a nonblock read
  macvlan: switch to use IS_ENABLED()
  macvtap: introduce macvtap_get_vlan()
  macvlan: change the max number of queues to 16
  macvtap: eliminate linear search
  macvtap: allow TUNSETIFF to create multiqueue device
  macvtap: add TUNSETQUEUE ioctl
  macvtap: enable multiqueue flag

 drivers/net/macvtap.c      |  292 +++++++++++++++++++++++++++++++++----------
 include/linux/if_macvlan.h |   11 ++-
 2 files changed, 233 insertions(+), 70 deletions(-)


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2013-06-05  3:02 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-31  9:53 [net-next rfc V2 0/8] Multiqueue API for macvtap Jason Wang
2013-05-31  9:53 ` [net-next rfc V2 1/8] macvtap: do not add self to waitqueue if doing a nonblock read Jason Wang
2013-05-31  9:53 ` [net-next rfc V2 2/8] macvlan: switch to use IS_ENABLED() Jason Wang
2013-05-31  9:53 ` [net-next rfc V2 3/8] macvtap: introduce macvtap_get_vlan() Jason Wang
2013-05-31  9:53 ` [net-next rfc V2 4/8] macvlan: change the max number of queues to 16 Jason Wang
2013-05-31  9:53 ` [net-next rfc V2 5/8] macvtap: eliminate linear search Jason Wang
2013-05-31  9:53 ` [net-next rfc V2 6/8] macvtap: allow TUNSETIFF to create multiqueue device Jason Wang
2013-05-31 14:48   ` Sergei Shtylyov
2013-06-03  3:05     ` Jason Wang
2013-05-31  9:53 ` [net-next rfc V2 7/8] macvtap: add TUNSETQUEUE ioctl Jason Wang
2013-06-02 11:22   ` Michael S. Tsirkin
2013-06-03  5:20     ` Jason Wang
2013-06-03 11:09       ` Michael S. Tsirkin
2013-06-04  5:54         ` Jason Wang
2013-06-04  7:05           ` Michael S. Tsirkin
2013-06-05  3:01             ` Jason Wang
2013-05-31  9:53 ` [net-next rfc V2 8/8] macvtap: enable multiqueue flag Jason Wang

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.