Commit e82181de authored by Jarek Poplawski's avatar Jarek Poplawski Committed by David S. Miller

pkt_sched: sch_htb: Warn on too many events.

Let's get some info on possible config problems. This patch brings
back an old warning, but is printed only once now.

With feedback from Patrick McHardy <kaber@trash.net>
Signed-off-by: default avatarJarek Poplawski <jarkao2@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b00355db
...@@ -153,6 +153,9 @@ struct htb_sched { ...@@ -153,6 +153,9 @@ struct htb_sched {
int direct_qlen; /* max qlen of above */ int direct_qlen; /* max qlen of above */
long direct_pkts; long direct_pkts;
#define HTB_WARN_TOOMANYEVENTS 0x1
unsigned int warned; /* only one warning */
}; };
/* find class in global hash table using given handle */ /* find class in global hash table using given handle */
...@@ -685,6 +688,10 @@ static psched_time_t htb_do_events(struct htb_sched *q, int level, ...@@ -685,6 +688,10 @@ static psched_time_t htb_do_events(struct htb_sched *q, int level,
htb_add_to_wait_tree(q, cl, diff); htb_add_to_wait_tree(q, cl, diff);
} }
/* too much load - let's continue on next jiffie (including above) */ /* too much load - let's continue on next jiffie (including above) */
if (!(q->warned & HTB_WARN_TOOMANYEVENTS)) {
printk(KERN_WARNING "htb: too many events!\n");
q->warned |= HTB_WARN_TOOMANYEVENTS;
}
return q->now + 2 * PSCHED_TICKS_PER_SEC / HZ; return q->now + 2 * PSCHED_TICKS_PER_SEC / HZ;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment