* [PATCH 2/3] Change perturb_period to unsigned.
@ 2007-08-25 22:30 Corey Hickey
0 siblings, 0 replies; 3+ messages in thread
From: Corey Hickey @ 2007-08-25 22:30 UTC (permalink / raw)
To: netdev
This corresponds to the kernel patch doing the same.
Here, too, this will technically break binary compatibility with older
kernels, but that shouldn't be a problem because negative perturb_period
values aren't usable anyway.
---
include/linux/pkt_sched.h | 2 +-
tc/q_sfq.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h
index 37946d4..0252bb7 100644
--- a/include/linux/pkt_sched.h
+++ b/include/linux/pkt_sched.h
@@ -133,7 +133,7 @@ enum
struct tc_sfq_qopt
{
unsigned quantum; /* Bytes per round allocated to flow */
- int perturb_period; /* Period of hash perturbation */
+ unsigned perturb_period; /* Period of hash perturbation */
__u32 limit; /* Maximal packets in queue */
unsigned divisor; /* Hash divisor */
unsigned flows; /* Maximal number of flows */
diff --git a/tc/q_sfq.c b/tc/q_sfq.c
index 7754db7..c9fcc53 100644
--- a/tc/q_sfq.c
+++ b/tc/q_sfq.c
@@ -47,7 +47,7 @@ static int sfq_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nl
ok++;
} else if (strcmp(*argv, "perturb") == 0) {
NEXT_ARG();
- if (get_integer(&opt.perturb_period, *argv, 0)) {
+ if (get_u32(&opt.perturb_period, *argv, 0)) {
fprintf(stderr, "Illegal \"perturb\"\n");
return -1;
}
@@ -115,7 +115,7 @@ static int sfq_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
fprintf(f, "flows %u/%u ", qopt->flows, qopt->divisor);
}
if (qopt->perturb_period)
- fprintf(f, "perturb %dsec ", qopt->perturb_period);
+ fprintf(f, "perturb %usec ", qopt->perturb_period);
return 0;
}
--
1.5.2.4
^ permalink raw reply related [flat|nested] 3+ messages in thread* SFQ: backport some features from ESFQ (try 4)
@ 2007-09-28 22:52 Corey Hickey
2007-09-28 22:54 ` [PATCH 2/3] Change perturb_period to unsigned Corey Hickey
0 siblings, 1 reply; 3+ messages in thread
From: Corey Hickey @ 2007-09-28 22:52 UTC (permalink / raw)
To: netdev
Patchset try 2 addresses the review by Michael Buesch.
Patchset try 3 addresses the review by Patrick McHardy.
Patchset try 4 has a few cosmetic improvements.
Nobody reviewed my last set of patches, and I wasn't pushy about asking.
Since it's been a while, I ported the kernel and userspace patchsets to
current git of net-2.6 and iproute2, respectively.
The first 7 patches in this series resemble the corresponding 7 patches
in patchset try 2. There aren't any major changes--just modifications
to address errors noticed in review and slight reorganizations to make
the next patches easier.
Patches 8-10 implement parameter passing via nested compat attributes.
This is necessary for using 'tc qdisc change' to disable perturbation.
The rest of the parameters were added for consistency.
Iproute2 patches will follow shortly.
The following is the original patch text.
This set of patches adds some of ESFQ's modifications to the original
SFQ. Thus far, I have received support for this approach rather than for
trying to get ESFQ included as a separate qdisc.
http://mailman.ds9a.nl/pipermail/lartc/2007q2/021056.html
My patches here implement "tc qdisc change", user-configurable depth
(number of flows), and user-configurable divisor (for setting hash table
size). I've left out the remaining ESFQ features (usage of jhash and
different hashing methods) because Patrick McHardy intends to submit a
patch that will supersede that functionality; see the URL above.
Default values remain the same, and SFQ's default behavior remains the
same, so there should be no user disruption.
Thanks for your consideration,
Corey
include/linux/pkt_sched.h | 23 ++--
net/sched/sch_sfq.c | 353 ++++++++++++++++++++++++++++++---------------
2 files changed, 254 insertions(+), 122 deletions(-)
[PATCH 01/10] Preparatory refactoring part 1.
[PATCH 02/10] Preparatory refactoring part 2.
[PATCH 03/10] Move two functions.
[PATCH 04/10] Make "depth" (number of queues) user-configurable:
[PATCH 05/10] Add divisor.
[PATCH 06/10] Make qdisc changeable.
[PATCH 07/10] Remove comments about hardcoded values.
[PATCH 08/10] Multiply perturb_period by HZ when used rather than when assigned.
[PATCH 09/10] Change perturb_period to unsigned.
[PATCH 10/10] Use nested compat attributes to pass parameters.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 2/3] Change perturb_period to unsigned.
2007-09-28 22:52 SFQ: backport some features from ESFQ (try 4) Corey Hickey
@ 2007-09-28 22:54 ` Corey Hickey
0 siblings, 0 replies; 3+ messages in thread
From: Corey Hickey @ 2007-09-28 22:54 UTC (permalink / raw)
To: netdev; +Cc: Corey Hickey
This corresponds to the kernel patch doing the same.
Here, too, this will technically break binary compatibility with older
kernels, but that shouldn't be a problem because negative perturb_period
values aren't usable anyway.
Signed-off-by: Corey Hickey <bugfood-ml@fatooh.org>
---
include/linux/pkt_sched.h | 2 +-
tc/q_sfq.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h
index 9d41f63..fb04a89 100644
--- a/include/linux/pkt_sched.h
+++ b/include/linux/pkt_sched.h
@@ -142,7 +142,7 @@ enum
struct tc_sfq_qopt
{
unsigned quantum; /* Bytes per round allocated to flow */
- int perturb_period; /* Period of hash perturbation */
+ unsigned perturb_period; /* Period of hash perturbation */
__u32 limit; /* Maximal packets in queue */
unsigned divisor; /* Hash divisor */
unsigned flows; /* Maximal number of flows */
diff --git a/tc/q_sfq.c b/tc/q_sfq.c
index 7754db7..c9fcc53 100644
--- a/tc/q_sfq.c
+++ b/tc/q_sfq.c
@@ -47,7 +47,7 @@ static int sfq_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nl
ok++;
} else if (strcmp(*argv, "perturb") == 0) {
NEXT_ARG();
- if (get_integer(&opt.perturb_period, *argv, 0)) {
+ if (get_u32(&opt.perturb_period, *argv, 0)) {
fprintf(stderr, "Illegal \"perturb\"\n");
return -1;
}
@@ -115,7 +115,7 @@ static int sfq_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
fprintf(f, "flows %u/%u ", qopt->flows, qopt->divisor);
}
if (qopt->perturb_period)
- fprintf(f, "perturb %dsec ", qopt->perturb_period);
+ fprintf(f, "perturb %usec ", qopt->perturb_period);
return 0;
}
--
1.5.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [iproute2] SFQ: backport some features from ESFQ (try 5)
@ 2007-10-29 7:24 Corey Hickey
2007-10-29 7:24 ` [PATCH 2/3] Change perturb_period to unsigned Corey Hickey
0 siblings, 1 reply; 3+ messages in thread
From: Corey Hickey @ 2007-10-29 7:24 UTC (permalink / raw)
To: netdev
These patches follow the ESFQ-->SFQ kernel patches. See the kernel
patch summary for general information.
Thanks,
Corey
include/linux/pkt_sched.h | 23 ++++++++++++++---------
tc/q_sfq.c | 42 +++++++++++++++++++++++++++++++++++++-----
2 files changed, 51 insertions(+), 14 deletions(-)
[PATCH 1/3] SFQ: Support changing depth and divisor.
[PATCH 2/3] Change perturb_period to unsigned.
[PATCH 3/3] Use nested compat attributes for passing parameters to the kernel.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 2/3] Change perturb_period to unsigned.
2007-10-29 7:24 [iproute2] SFQ: backport some features from ESFQ (try 5) Corey Hickey
@ 2007-10-29 7:24 ` Corey Hickey
0 siblings, 0 replies; 3+ messages in thread
From: Corey Hickey @ 2007-10-29 7:24 UTC (permalink / raw)
To: netdev
This corresponds to the kernel patch doing the same.
Here, too, this will technically break binary compatibility with older
kernels, but that shouldn't be a problem because negative perturb_period
values aren't usable anyway.
---
include/linux/pkt_sched.h | 2 +-
tc/q_sfq.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h
index 9d41f63..fb04a89 100644
--- a/include/linux/pkt_sched.h
+++ b/include/linux/pkt_sched.h
@@ -142,7 +142,7 @@ enum
struct tc_sfq_qopt
{
unsigned quantum; /* Bytes per round allocated to flow */
- int perturb_period; /* Period of hash perturbation */
+ unsigned perturb_period; /* Period of hash perturbation */
__u32 limit; /* Maximal packets in queue */
unsigned divisor; /* Hash divisor */
unsigned flows; /* Maximal number of flows */
diff --git a/tc/q_sfq.c b/tc/q_sfq.c
index 19e76ba..83c8a54 100644
--- a/tc/q_sfq.c
+++ b/tc/q_sfq.c
@@ -47,7 +47,7 @@ static int sfq_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nl
ok++;
} else if (strcmp(*argv, "perturb") == 0) {
NEXT_ARG();
- if (get_integer(&opt.perturb_period, *argv, 0)) {
+ if (get_u32(&opt.perturb_period, *argv, 0)) {
fprintf(stderr, "Illegal \"perturb\"\n");
return -1;
}
@@ -114,7 +114,7 @@ static int sfq_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
fprintf(f, "flows %u/%u ", qopt->flows, qopt->divisor);
}
if (qopt->perturb_period)
- fprintf(f, "perturb %dsec ", qopt->perturb_period);
+ fprintf(f, "perturb %usec ", qopt->perturb_period);
return 0;
}
--
1.5.3.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-10-29 7:24 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-25 22:30 [PATCH 2/3] Change perturb_period to unsigned Corey Hickey
-- strict thread matches above, loose matches on Subject: below --
2007-09-28 22:52 SFQ: backport some features from ESFQ (try 4) Corey Hickey
2007-09-28 22:54 ` [PATCH 2/3] Change perturb_period to unsigned Corey Hickey
2007-10-29 7:24 [iproute2] SFQ: backport some features from ESFQ (try 5) Corey Hickey
2007-10-29 7:24 ` [PATCH 2/3] Change perturb_period to unsigned Corey Hickey
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).