All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vinicius Costa Gomes <vinicius.gomes@intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [next-queue PATCH v7 4/6] net/sched: Introduce Credit Based Shaper (CBS) qdisc
Date: Fri, 13 Oct 2017 15:54:19 -0700	[thread overview]
Message-ID: <8760bimzfo.fsf@intel.com> (raw)
In-Reply-To: <20171013195924.GA19439@khorivan>

Hi,

Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> writes:

[...]

>> +
>> +static int cbs_enqueue_soft(struct sk_buff *skb, struct Qdisc *sch)
>> +{
>> +	struct cbs_sched_data *q = qdisc_priv(sch);
>> +
>> +	if (sch->q.qlen == 0 && q->credits > 0) {
>> +		/* We need to stop accumulating credits when there's
>> +		 * no packet enqueued packets and q->credits is
> no packet -> no

Ugh. Fixed.

>
>> +		 * positive.
>> +		 */
>> +		q->credits = 0;
>> +		q->last = ktime_get_ns();
>> +	}
>> +
>> +	return qdisc_enqueue_tail(skb, sch);
>> +}
>> +

[...]

>> +static struct sk_buff *cbs_dequeue_soft(struct Qdisc *sch)
>> +{
>> +	struct cbs_sched_data *q = qdisc_priv(sch);
>> +	s64 now = ktime_get_ns();
>> +	struct sk_buff *skb;
>> +	s64 credits;
>> +	int len;
>> +
>> +	if (q->credits < 0) {
>> +		credits = timediff_to_credits(now - q->last, q->idleslope);
> Maybe be better to add small optimization by moving some calculations from data
> path, I mean, save idle_slope in bytes instead of kbit and converting it for
> every packet. Both delay_from_credits() and timediff_to_credits() is used only
> once and with idle_slope only...and both of them converting it.
>
> Same for credits_from_len() and send slope, save it in units of port_rate.
>

Done. Thanks.


Cheers,
--
Vinicius

WARNING: multiple messages have this Message-ID (diff)
From: Vinicius Costa Gomes <vinicius.gomes@intel.com>
To: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Cc: netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org,
	jhs@mojatatu.com, xiyou.wangcong@gmail.com, jiri@resnulli.us,
	andre.guedes@intel.com, ivan.briano@intel.com,
	jesus.sanchez-palencia@intel.com, boon.leong.ong@intel.com,
	richardcochran@gmail.com, henrik@austad.us,
	levipearson@gmail.com, rodney.cummings@ni.com
Subject: Re: [next-queue PATCH v7 4/6] net/sched: Introduce Credit Based Shaper (CBS) qdisc
Date: Fri, 13 Oct 2017 15:54:19 -0700	[thread overview]
Message-ID: <8760bimzfo.fsf@intel.com> (raw)
In-Reply-To: <20171013195924.GA19439@khorivan>

Hi,

Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> writes:

[...]

>> +
>> +static int cbs_enqueue_soft(struct sk_buff *skb, struct Qdisc *sch)
>> +{
>> +	struct cbs_sched_data *q = qdisc_priv(sch);
>> +
>> +	if (sch->q.qlen == 0 && q->credits > 0) {
>> +		/* We need to stop accumulating credits when there's
>> +		 * no packet enqueued packets and q->credits is
> no packet -> no

Ugh. Fixed.

>
>> +		 * positive.
>> +		 */
>> +		q->credits = 0;
>> +		q->last = ktime_get_ns();
>> +	}
>> +
>> +	return qdisc_enqueue_tail(skb, sch);
>> +}
>> +

[...]

>> +static struct sk_buff *cbs_dequeue_soft(struct Qdisc *sch)
>> +{
>> +	struct cbs_sched_data *q = qdisc_priv(sch);
>> +	s64 now = ktime_get_ns();
>> +	struct sk_buff *skb;
>> +	s64 credits;
>> +	int len;
>> +
>> +	if (q->credits < 0) {
>> +		credits = timediff_to_credits(now - q->last, q->idleslope);
> Maybe be better to add small optimization by moving some calculations from data
> path, I mean, save idle_slope in bytes instead of kbit and converting it for
> every packet. Both delay_from_credits() and timediff_to_credits() is used only
> once and with idle_slope only...and both of them converting it.
>
> Same for credits_from_len() and send slope, save it in units of port_rate.
>

Done. Thanks.


Cheers,

  reply	other threads:[~2017-10-13 22:54 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-13  0:39 [Intel-wired-lan] [next-queue PATCH v7 0/6] TSN: Add qdisc based config interface for CBS Vinicius Costa Gomes
2017-10-13  0:39 ` Vinicius Costa Gomes
2017-10-13  0:40 ` [Intel-wired-lan] [next-queue PATCH v7 1/6] net/sched: Check for null dev_queue on create flow Vinicius Costa Gomes
2017-10-13  0:40   ` Vinicius Costa Gomes
2017-10-13  0:40 ` [Intel-wired-lan] [next-queue PATCH v7 2/6] net/sched: Change behavior of mq select_queue() Vinicius Costa Gomes
2017-10-13  0:40   ` Vinicius Costa Gomes
2017-10-13  0:40 ` [Intel-wired-lan] [next-queue PATCH v7 3/6] net/sched: Add select_queue() class_ops for mqprio Vinicius Costa Gomes
2017-10-13  0:40   ` Vinicius Costa Gomes
2017-10-13  0:40 ` [Intel-wired-lan] [next-queue PATCH v7 4/6] net/sched: Introduce Credit Based Shaper (CBS) qdisc Vinicius Costa Gomes
2017-10-13  0:40   ` Vinicius Costa Gomes
2017-10-13  2:42   ` [Intel-wired-lan] " Eric Dumazet
2017-10-13  2:42     ` Eric Dumazet
2017-10-13 17:12     ` [Intel-wired-lan] " Vinicius Costa Gomes
2017-10-13 17:12       ` Vinicius Costa Gomes
2017-10-13 19:59   ` [Intel-wired-lan] " Ivan Khoronzhuk
2017-10-13 19:59     ` Ivan Khoronzhuk
2017-10-13 22:54     ` Vinicius Costa Gomes [this message]
2017-10-13 22:54       ` Vinicius Costa Gomes
2017-10-16  9:14     ` [Intel-wired-lan] " David Laight
2017-10-16  9:14       ` David Laight
2017-10-16 22:13       ` [Intel-wired-lan] " Vinicius Costa Gomes
2017-10-16 22:13         ` Vinicius Costa Gomes
2017-10-13  0:40 ` [Intel-wired-lan] [next-queue PATCH v7 5/6] net/sched: Add support for HW offloading for CBS Vinicius Costa Gomes
2017-10-13  0:40   ` Vinicius Costa Gomes
2017-10-13  0:40 ` [Intel-wired-lan] [next-queue PATCH v7 6/6] igb: Add support for CBS offload Vinicius Costa Gomes
2017-10-13  0:40   ` Vinicius Costa Gomes

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=8760bimzfo.fsf@intel.com \
    --to=vinicius.gomes@intel.com \
    --cc=intel-wired-lan@osuosl.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.