From: Jarek Poplawski <jarkao2@gmail.com>
To: David Miller <davem@davemloft.net>
Cc: kaber@trash.net, devik@cdi.cz, netdev@vger.kernel.org
Subject: [PATCH 7/6 resend] pkt_sched: sch_htb: Consider used jiffies in htb_do_events()
Date: Mon, 12 Jan 2009 10:16:13 +0000 [thread overview]
Message-ID: <20090112101613.GA5781@ff.dom.local> (raw)
In-Reply-To: <20081210.011431.203551043.davem@davemloft.net>
(resend)
pkt_sched: sch_htb: Consider used jiffies in htb_do_events()
Next event time should consider jiffies used for recounting. Otherwise
qdisc_watchdog_schedule() triggers hrtimer immediately with the event
in the past, and may cause very high ksoftirqd cpu usage (if highres
is on).
There is also removed checking "event" for zero in htb_dequeue(): it's
always true in this place.
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
---
net/sched/sch_htb.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c
index 5070643..9ca8a26 100644
--- a/net/sched/sch_htb.c
+++ b/net/sched/sch_htb.c
@@ -685,8 +685,8 @@ static psched_time_t htb_do_events(struct htb_sched *q, int level)
if (cl->cmode != HTB_CAN_SEND)
htb_add_to_wait_tree(q, cl, diff);
}
- /* too much load - let's continue on next jiffie */
- return q->now + PSCHED_TICKS_PER_SEC / HZ;
+ /* too much load - let's continue on next jiffie (including above) */
+ return q->now + 2 * PSCHED_TICKS_PER_SEC / HZ;
}
/* Returns class->node+prio from id-tree where classe's id is >= id. NULL
@@ -873,7 +873,7 @@ static struct sk_buff *htb_dequeue(struct Qdisc *sch)
} else
event = q->near_ev_cache[level];
- if (event && next_event > event)
+ if (next_event > event)
next_event = event;
m = ~q->row_mask[level];
next prev parent reply other threads:[~2009-01-12 10:16 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-09 10:21 [PATCH 2/6] pkt_sched: sch_htb: Consider used jiffies in htb_dequeue() Jarek Poplawski
2008-12-09 10:28 ` Patrick McHardy
2008-12-09 11:32 ` Jarek Poplawski
2008-12-09 12:25 ` Patrick McHardy
2008-12-09 13:08 ` Jarek Poplawski
2008-12-09 13:20 ` Patrick McHardy
2008-12-09 14:45 ` Jarek Poplawski
2008-12-09 14:56 ` Patrick McHardy
2008-12-10 10:52 ` [PATCH 8/6] " Jarek Poplawski
2009-01-12 10:17 ` [PATCH 8/6 resend] pkt_sched: sch_htb: Break all htb_do_events() after 2 jiffies Jarek Poplawski
2009-01-13 5:54 ` David Miller
2008-12-10 6:35 ` [PATCH 2/6] pkt_sched: sch_htb: Consider used jiffies in htb_dequeue() David Miller
2008-12-10 9:11 ` Jarek Poplawski
2008-12-10 9:14 ` David Miller
2008-12-10 9:35 ` [PATCH 7/6] " Jarek Poplawski
2008-12-10 14:38 ` Patrick McHardy
2008-12-16 23:57 ` David Miller
2008-12-17 7:03 ` Jarek Poplawski
2008-12-17 7:38 ` David Miller
2009-01-12 6:56 ` Patrick McHardy
2009-01-12 10:10 ` Jarek Poplawski
2009-01-12 10:22 ` Patrick McHardy
2009-01-12 11:08 ` Jarek Poplawski
2009-01-12 13:10 ` Patrick McHardy
2009-01-28 12:52 ` [PATCH net-next] pkt_sched: sch_htb: Warn on too many events Jarek Poplawski
2009-01-28 16:18 ` Patrick McHardy
2009-01-30 10:17 ` [PATCH 1/3 v2 " Jarek Poplawski
2009-02-01 9:13 ` David Miller
2009-01-30 10:17 ` [PATCH 2/3 " Jarek Poplawski
2009-02-01 9:13 ` David Miller
2009-01-30 10:17 ` [PATCH 3/3 " Jarek Poplawski
2009-02-01 9:13 ` David Miller
2009-01-28 13:23 ` [PATCH 7/6] Re: [PATCH 2/6] pkt_sched: sch_htb: Consider used jiffies in htb_dequeue() Jarek Poplawski
2009-01-28 16:20 ` Patrick McHardy
2009-01-12 10:29 ` Jarek Poplawski
2009-01-12 10:32 ` David Miller
2009-01-12 10:59 ` Jarek Poplawski
2009-01-12 11:04 ` David Miller
2009-01-12 10:16 ` Jarek Poplawski [this message]
2009-01-13 5:54 ` [PATCH 7/6 resend] pkt_sched: sch_htb: Consider used jiffies in htb_do_events() 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=20090112101613.GA5781@ff.dom.local \
--to=jarkao2@gmail.com \
--cc=davem@davemloft.net \
--cc=devik@cdi.cz \
--cc=kaber@trash.net \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).