All of lore.kernel.org
 help / color / mirror / Atom feed
* [net-next PATCH 0/8] Multiqueue API for macvtap
@ 2013-06-06  9:54 Jason Wang
  2013-06-06  9:54 ` [net-next PATCH 1/8] macvtap: fix a possible race between queue selection and changing queues Jason Wang
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: Jason Wang @ 2013-06-06  9:54 UTC (permalink / raw)
  To: davem, mst, netdev, linux-kernel; +Cc: sergei.shtylyov, Jason Wang

Hi all:

This series implements a 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 - 5 was some tuntap compatibility and misc cleanups.
Patch 6 removes the linear search in macvtap by reshuffling the macvtaps array
each time a queue is removed.
Patch 7 implement TUNSETQUEUE ioctl by introducing a list to track all queues
while use the array to just track all enabled queues.
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 RFC V3:
- drop the TUNSETIFF checks
- disable taps first during macvtap_put_queue() to simplify codes
- typo fixes and better comments from Michael on numvtaps in macvtap_get_queue()
- BUG_ON() and unnecessary checks of numdisabled in macvtap_del_queues()
- drop numdisabled and introduce numqueues to track the number of queues
- better style in macvtap_ioctl_set_queue()
- rename tap_link to queue_list
- blank line fixes again :(

Changes from RFC V2:
- Don't place disabled taps in the array and use a linked like to track all taps
- Remove unnecessary best-effort barriers
- Add ACCESS_ONCE() for vlan->numvtaps to prevent compiler generate unexpected
codes
- Add a comment to explain that numvtaps is just a hint in macvtap_get_queue()
- blank line fixes

Changes from RFC 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: fix a possible race between queue selection and changing
    queues
  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: add TUNSETQUEUE ioctl
  macvtap: enable multiqueue flag

 drivers/net/macvtap.c      |  206 +++++++++++++++++++++++++++++++-------------
 include/linux/if_macvlan.h |    8 ++-
 2 files changed, 152 insertions(+), 62 deletions(-)


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

end of thread, other threads:[~2013-06-08  6:49 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-06  9:54 [net-next PATCH 0/8] Multiqueue API for macvtap Jason Wang
2013-06-06  9:54 ` [net-next PATCH 1/8] macvtap: fix a possible race between queue selection and changing queues Jason Wang
2013-06-06  9:54 ` [net-next PATCH 2/8] macvtap: do not add self to waitqueue if doing a nonblock read Jason Wang
2013-06-06  9:54 ` [net-next PATCH 3/8] macvlan: switch to use IS_ENABLED() Jason Wang
2013-06-06  9:54 ` [net-next PATCH 4/8] macvtap: introduce macvtap_get_vlan() Jason Wang
2013-06-06 11:05   ` Michael S. Tsirkin
2013-06-06  9:54 ` [net-next PATCH 5/8] macvlan: change the max number of queues to 16 Jason Wang
2013-06-06 11:05   ` Michael S. Tsirkin
2013-06-06  9:54 ` [net-next PATCH 6/8] macvtap: eliminate linear search Jason Wang
2013-06-06 11:06   ` Michael S. Tsirkin
2013-06-06  9:54 ` [net-next PATCH 7/8] macvtap: add TUNSETQUEUE ioctl Jason Wang
2013-06-06 11:06   ` Michael S. Tsirkin
2013-06-06  9:54 ` [net-next PATCH 8/8] macvtap: enable multiqueue flag Jason Wang
2013-06-06 11:05   ` Michael S. Tsirkin
2013-06-08  6:49 ` [net-next PATCH 0/8] Multiqueue API for macvtap David Miller

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.