From: Daniel Borkmann <dborkman@redhat.com>
To: Jesper Dangaard Brouer <brouer@redhat.com>
Cc: "David S. Miller" <davem@davemloft.net>,
netdev@vger.kernel.org, Florian Westphal <fw@strlen.de>,
Hannes Frederic Sowa <hannes@stressinduktion.org>
Subject: Re: [net-next PATCH 3/3] qdisc: sysctl to adjust bulk dequeue limit
Date: Tue, 02 Sep 2014 17:33:25 +0200 [thread overview]
Message-ID: <5405E345.9010403@redhat.com> (raw)
In-Reply-To: <20140902143553.1918.73632.stgit@dragon>
On 09/02/2014 04:36 PM, Jesper Dangaard Brouer wrote:
> Allow userspace to adjust how many packet the qdisc is allowed to
> bulk dequeue.
>
> Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
>
> ---
> Question should we allow this to be adjusted?
>
> include/net/sch_generic.h | 2 ++
> net/core/sysctl_net_core.c | 9 +++++++++
> net/sched/sch_generic.c | 4 +++-
> 3 files changed, 14 insertions(+), 1 deletions(-)
>
> diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
> index a3cfb8e..b0ac7b5 100644
> --- a/include/net/sch_generic.h
> +++ b/include/net/sch_generic.h
> @@ -14,6 +14,8 @@ struct qdisc_walker;
> struct tcf_walker;
> struct module;
>
> +extern int qdisc_bulk_dequeue_limit;
> +
> struct qdisc_rate_table {
> struct tc_ratespec rate;
> u32 data[256];
> diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c
> index cf9cd13..5505841 100644
> --- a/net/core/sysctl_net_core.c
> +++ b/net/core/sysctl_net_core.c
> @@ -361,6 +361,15 @@ static struct ctl_table net_core_table[] = {
> .mode = 0644,
> .proc_handler = proc_dointvec
> },
> + {
> + .procname = "qdisc_bulk_dequeue_limit",
> + .data = &qdisc_bulk_dequeue_limit,
> + .maxlen = sizeof(int),
> + .mode = 0644,
> + .extra1 = &zero,
If zero, then this would bulk INT_MAX due to a wrap around in patch 2.
> + .extra2 = &ushort_max,
> + .proc_handler = proc_dointvec_minmax
> + },
> { }
> };
>
> diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
> index 30814ef..9cb08c0 100644
> --- a/net/sched/sch_generic.c
> +++ b/net/sched/sch_generic.c
> @@ -34,6 +34,8 @@
> const struct Qdisc_ops *default_qdisc_ops = &pfifo_fast_ops;
> EXPORT_SYMBOL(default_qdisc_ops);
>
> +int qdisc_bulk_dequeue_limit __read_mostly = 7;
> +
Just nit, but this should be adjusted plus the exit condition in
dequeue_skb() to work with 8 when you mention the max limit of 8
as bulk dequeue.
It would be great, if we could go with 0 knobs first, though.
> /* Main transmission queue. */
>
> /* Modifications to data participating in scheduling must be protected with
> @@ -81,7 +83,7 @@ static inline struct sk_buff *dequeue_skb(struct Qdisc *q)
> /* bulk dequeue */
> if (skb && !skb->next && (q->flags & TCQ_F_ONETXQUEUE)) {
> struct sk_buff *new, *head = skb;
> - int limit = 7;
> + int limit = qdisc_bulk_dequeue_limit;
>
> do {
> new = q->dequeue(q);
>
next prev parent reply other threads:[~2014-09-02 15:33 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-02 14:35 [net-next PATCH 0/3] qdisc bulk dequeuing and utilizing delayed tailptr updates Jesper Dangaard Brouer
2014-09-02 14:35 ` [net-next PATCH 1/3] qdisc: adjustments for API allowing skb list xmits Jesper Dangaard Brouer
2014-09-02 15:25 ` Eric Dumazet
2014-09-03 10:12 ` [net-next PATCH] qdisc: exit case fixes for skb list handling in qdisc layer Jesper Dangaard Brouer
2014-09-04 3:42 ` David Miller
2014-09-04 5:24 ` Eric Dumazet
2014-09-04 5:39 ` Jesper Dangaard Brouer
2014-09-05 5:41 ` David Miller
2014-09-05 13:42 ` Eric Dumazet
2014-09-02 21:06 ` [net-next PATCH 1/3] qdisc: adjustments for API allowing skb list xmits David Miller
2014-09-02 14:35 ` [net-next PATCH 2/3] qdisc: bulk dequeue support for qdiscs with TCQ_F_ONETXQUEUE Jesper Dangaard Brouer
2014-09-02 15:22 ` Eric Dumazet
2014-09-03 9:31 ` Jesper Dangaard Brouer
2014-09-03 10:23 ` Florian Westphal
2014-09-02 16:14 ` Daniel Borkmann
2014-09-03 12:27 ` Jesper Dangaard Brouer
2014-09-02 14:36 ` [net-next PATCH 3/3] qdisc: sysctl to adjust bulk dequeue limit Jesper Dangaard Brouer
2014-09-02 15:23 ` Jesper Dangaard Brouer
2014-09-02 15:33 ` Daniel Borkmann [this message]
2014-09-02 21:20 ` Cong Wang
2014-09-03 0:12 ` Tom Herbert
2014-09-02 18:04 ` [net-next PATCH 0/3] qdisc bulk dequeuing and utilizing delayed tailptr updates Tom Herbert
2014-09-03 12:47 ` Jesper Dangaard Brouer
2014-09-02 21:05 ` David Miller
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=5405E345.9010403@redhat.com \
--to=dborkman@redhat.com \
--cc=brouer@redhat.com \
--cc=davem@davemloft.net \
--cc=fw@strlen.de \
--cc=hannes@stressinduktion.org \
--cc=netdev@vger.kernel.org \
/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.