From: Jesper Dangaard Brouer <brouer@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>,
Daniel Borkmann <dborkman@redhat.com>
Subject: Re: [net-next PATCH 3/3] qdisc: sysctl to adjust bulk dequeue limit
Date: Tue, 2 Sep 2014 17:23:47 +0200 [thread overview]
Message-ID: <20140902172348.68ce2982@redhat.com> (raw)
In-Reply-To: <20140902143553.1918.73632.stgit@dragon>
On Tue, 02 Sep 2014 16:36:09 +0200
Jesper Dangaard Brouer <brouer@redhat.com> 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,
> + .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;
> +
> /* 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)) {
Will update the patch with:
- if (skb && !skb->next && (q->flags & TCQ_F_ONETXQUEUE)) {
+ if (qdisc_bulk_dequeue_limit && skb &&
+ !skb->next && (q->flags & TCQ_F_ONETXQUEUE)) {
To allow qdisc_bulk_dequeue_limit==0 to actually disable bulking.
> struct sk_buff *new, *head = skb;
> - int limit = 7;
> + int limit = qdisc_bulk_dequeue_limit;
>
> do {
> new = q->dequeue(q);
>
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Sr. Network Kernel Developer at Red Hat
Author of http://www.iptv-analyzer.org
LinkedIn: http://www.linkedin.com/in/brouer
next prev parent reply other threads:[~2014-09-02 15:23 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 [this message]
2014-09-02 15:33 ` Daniel Borkmann
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=20140902172348.68ce2982@redhat.com \
--to=brouer@redhat.com \
--cc=davem@davemloft.net \
--cc=dborkman@redhat.com \
--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.