-diff -Naur linux-2.6.24.orig/include/linux/pkt_sched.h linux-2.6.24/include/linux/pkt_sched.h
---- linux-2.6.24.orig/include/linux/pkt_sched.h 2008-01-24 14:58:37.000000000 -0800
-+++ linux-2.6.24/include/linux/pkt_sched.h 2008-01-28 00:27:12.000000000 -0800
+diff -Naur linux-2.6.24.orig/include/uapi/linux/pkt_sched.h linux-2.6.24/include/uapi/linux/pkt_sched.h
+--- linux-2.6.24.orig/include/uapi/linux/pkt_sched.h 2008-01-24 14:58:37.000000000 -0800
++++ linux-2.6.24/include/uapi/linux/pkt_sched.h 2008-01-28 00:27:12.000000000 -0800
@@ -157,6 +157,33 @@
* to change these parameters in compile time.
*/
+ struct Qdisc *sch = (struct Qdisc*)arg;
+ struct esfq_sched_data *q = qdisc_priv(sch);
+
-+ q->perturbation = net_random()&0x1F;
++ q->perturbation = prandom_u32() & 0x1F;
+
+ if (q->perturb_period) {
+ q->perturb_timer.expires = jiffies + q->perturb_period;