aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/sch_htb.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched/sch_htb.c')
-rw-r--r--net/sched/sch_htb.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c
index 77ff510ef8ac..826f92145261 100644
--- a/net/sched/sch_htb.c
+++ b/net/sched/sch_htb.c
@@ -153,6 +153,9 @@ struct htb_sched {
153 int direct_qlen; /* max qlen of above */ 153 int direct_qlen; /* max qlen of above */
154 154
155 long direct_pkts; 155 long direct_pkts;
156
157#define HTB_WARN_TOOMANYEVENTS 0x1
158 unsigned int warned; /* only one warning */
156}; 159};
157 160
158/* find class in global hash table using given handle */ 161/* 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 htb_add_to_wait_tree(q, cl, diff); 688 htb_add_to_wait_tree(q, cl, diff);
686 } 689 }
687 /* too much load - let's continue on next jiffie (including above) */ 690 /* too much load - let's continue on next jiffie (including above) */
691 if (!(q->warned & HTB_WARN_TOOMANYEVENTS)) {
692 printk(KERN_WARNING "htb: too many events!\n");
693 q->warned |= HTB_WARN_TOOMANYEVENTS;
694 }
688 return q->now + 2 * PSCHED_TICKS_PER_SEC / HZ; 695 return q->now + 2 * PSCHED_TICKS_PER_SEC / HZ;
689} 696}
690 697