All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Galgano <sgalgano@adjacentlink.com>
To: David Miller <davem@davemloft.net>
Cc: mst@redhat.com, jasowang@redhat.com, xemul@parallels.com,
	wuzhy@linux.vnet.ibm.com, therbert@google.com, yamato@redhat.com,
	richardcochran@gmail.com, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, Brian.Adamson@nrl.navy.mil,
	jgiovatto@adjacentlink.com
Subject: Re: [PATCH v2] tuntap: add flow control to support back pressure
Date: Mon, 14 Apr 2014 00:19:14 -0400	[thread overview]
Message-ID: <534B61C2.1080700@adjacentlink.com> (raw)
In-Reply-To: <20140413.214004.1087903132047842986.davem@davemloft.net>

On 04/13/2014 09:40 PM, David Miller wrote:
> From: Steven Galgano <sgalgano@adjacentlink.com>
> Date: Sun, 13 Apr 2014 21:30:27 -0400
> 
>> Added optional per queue flow control support using IFF_FLOW_CONTROL. When the IFF_FLOW_CONTROL TUNSETIFF flag is specified it will set a per queue flag to indicate that the queue should be stopped using netif_tx_stop_queue(), rather than discarding frames once full. After reading a frame from the respective stopped queue, a netif_tx_wake_queue() is issued to signal resource availability.
>>
>> The per queue TUN_FLOW_CONTROL flag is stored in struct tun_file. This provides the flexibility to enable flow control on all, none or some queues when using IFF_MULTI_QUEUE. When not using IFF_MULTI_QUEUE, IFF_FLOW_CONTROL will apply to the single queue. No changes were made to the default drop frame policy.
>>
>> This change adds support for back pressure use cases.
>>
>> Reported-by: Brian Adamson <brian.adamson@nrl.navy.mil>
>> Tested-by: Joseph Giovatto <jgiovatto@djacentlink.com>
>> Signed-off-by: Steven Galgano <sgalgano@adjacentlink.com>
> 
> Please format your commit messages to ~80 columns of text.
> 
> It won't be automatically formatted by GIT and in fact it looks ugly
> with all the wrapping in text based tools.
> 
Added optional per queue flow control support using IFF_FLOW_CONTROL. When the 
IFF_FLOW_CONTROL TUNSETIFF flag is specified it will set a per queue flag to 
indicate that the queue should be stopped using netif_tx_stop_queue(), rather 
than discarding frames once full. After reading a frame from the respective 
stopped queue, a netif_tx_wake_queue() is issued to signal resource 
availability.

The per queue TUN_FLOW_CONTROL flag is stored in struct tun_file. This provides 
the flexibility to enable flow control on all, none or some queues when using 
IFF_MULTI_QUEUE. When not using IFF_MULTI_QUEUE, IFF_FLOW_CONTROL will apply to 
the single queue. No changes were made to the default drop frame policy.

This change adds support for back pressure use cases.

Reported-by: Brian Adamson <brian.adamson@nrl.navy.mil>
Tested-by: Joseph Giovatto <jgiovatto@djacentlink.com>
Signed-off-by: Steven Galgano <sgalgano@adjacentlink.com>



  reply	other threads:[~2014-04-14  4:19 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-10  2:19 [PATCH] tuntap: add flow control to support back pressure Steven Galgano
     [not found] ` <20140410102931.GA12077@redhat.com>
2014-04-11  1:42   ` Steven Galgano
2014-04-11  3:02     ` Jason Wang
2014-04-11 16:41     ` Brian Adamson
2014-04-13 14:14       ` Michael S. Tsirkin
2014-04-14  1:28         ` Steven Galgano
2014-04-14  5:40           ` Michael S. Tsirkin
2014-04-14 18:45             ` Brian Adamson
2014-04-13 14:17     ` Michael S. Tsirkin
2014-04-14  1:30       ` [PATCH v2] " Steven Galgano
2014-04-14  1:40         ` David Miller
2014-04-14  4:19           ` Steven Galgano [this message]
2014-04-14  4:34             ` David Miller
2014-04-14 13:21               ` [PATCH v3] " Steven Galgano
2014-04-14 13:31                 ` Michael S. Tsirkin
2014-04-14 13:43                   ` Steven Galgano
2014-04-14  7:02             ` [PATCH v2] " Michael S. Tsirkin
2014-04-11  2:57   ` [PATCH] " 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=534B61C2.1080700@adjacentlink.com \
    --to=sgalgano@adjacentlink.com \
    --cc=Brian.Adamson@nrl.navy.mil \
    --cc=davem@davemloft.net \
    --cc=jasowang@redhat.com \
    --cc=jgiovatto@adjacentlink.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=richardcochran@gmail.com \
    --cc=therbert@google.com \
    --cc=wuzhy@linux.vnet.ibm.com \
    --cc=xemul@parallels.com \
    --cc=yamato@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.