* [PATCH] print_rate: use knowledge in rate_suffix table for human readable rates.
@ 2013-03-10 3:26 Vimalkumar
2013-03-10 4:08 ` Eric Dumazet
2013-03-12 0:00 ` Stephen Hemminger
0 siblings, 2 replies; 3+ messages in thread
From: Vimalkumar @ 2013-03-10 3:26 UTC (permalink / raw)
To: netdev, shemminger, eric.dumazet; +Cc: Vimalkumar
Signed-off-by: Vimalkumar <j.vimal@gmail.com>
---
tc/tc_util.c | 26 ++++++++++++--------------
1 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/tc/tc_util.c b/tc/tc_util.c
index 0939536..6e68d87 100644
--- a/tc/tc_util.c
+++ b/tc/tc_util.c
@@ -139,7 +139,8 @@ static const struct rate_suffix {
{ "GBps", 8000000000. },
{ "TiBps", 8.*1024.*1024.*1024.*1024. },
{ "TBps", 8000000000000. },
- { NULL }
+ { NULL },
+ { NULL },
};
@@ -171,21 +172,18 @@ void print_rate(char *buf, int len, __u64 rate)
{
double tmp = (double)rate*8;
extern int use_iec;
+ int start = 0;
+ const struct rate_suffix *s;
if (use_iec) {
- if (tmp >= 1000.0*1024.0*1024.0)
- snprintf(buf, len, "%.0fMibit", tmp/(1024.0*1024.0));
- else if (tmp >= 1000.0*1024)
- snprintf(buf, len, "%.0fKibit", tmp/1024);
- else
- snprintf(buf, len, "%.0fbit", tmp);
- } else {
- if (tmp >= 1000.0*1000000.0)
- snprintf(buf, len, "%.0fMbit", tmp/1000000.0);
- else if (tmp >= 1000.0 * 1000.0)
- snprintf(buf, len, "%.0fKbit", tmp/1000.0);
- else
- snprintf(buf, len, "%.0fbit", tmp);
+ start = 1;
+ }
+
+ snprintf(buf, len, "%.0fbit", tmp);
+ for (s = &suffixes[start]; s->name; s += 2) {
+ if (tmp >= s->scale) {
+ snprintf(buf, len, "%.3f%s", tmp / s->scale, s->name);
+ }
}
}
--
1.7.5.3
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] print_rate: use knowledge in rate_suffix table for human readable rates.
2013-03-10 3:26 [PATCH] print_rate: use knowledge in rate_suffix table for human readable rates Vimalkumar
@ 2013-03-10 4:08 ` Eric Dumazet
2013-03-12 0:00 ` Stephen Hemminger
1 sibling, 0 replies; 3+ messages in thread
From: Eric Dumazet @ 2013-03-10 4:08 UTC (permalink / raw)
To: Vimalkumar; +Cc: netdev, shemminger
On Sat, 2013-03-09 at 19:26 -0800, Vimalkumar wrote:
> Signed-off-by: Vimalkumar <j.vimal@gmail.com>
> ---
> tc/tc_util.c | 26 ++++++++++++--------------
> 1 files changed, 12 insertions(+), 14 deletions(-)
>
> diff --git a/tc/tc_util.c b/tc/tc_util.c
> index 0939536..6e68d87 100644
> --- a/tc/tc_util.c
> +++ b/tc/tc_util.c
> @@ -139,7 +139,8 @@ static const struct rate_suffix {
> { "GBps", 8000000000. },
> { "TiBps", 8.*1024.*1024.*1024.*1024. },
> { "TBps", 8000000000000. },
> - { NULL }
> + { NULL },
> + { NULL },
> };
>
You'll have to explicitly add in the title a way to say its a patch for
iproute2.
[PATCH iproute2] tc: use knowledge in rate_suffix table for human readable rates.
To avoid the confusion, as netdev is more likely to review kernel patches.
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] print_rate: use knowledge in rate_suffix table for human readable rates.
2013-03-10 3:26 [PATCH] print_rate: use knowledge in rate_suffix table for human readable rates Vimalkumar
2013-03-10 4:08 ` Eric Dumazet
@ 2013-03-12 0:00 ` Stephen Hemminger
1 sibling, 0 replies; 3+ messages in thread
From: Stephen Hemminger @ 2013-03-12 0:00 UTC (permalink / raw)
To: Vimalkumar; +Cc: netdev, shemminger, eric.dumazet
On Sat, 9 Mar 2013 19:26:38 -0800
Vimalkumar <j.vimal@gmail.com> wrote:
>
> Signed-off-by: Vimalkumar <j.vimal@gmail.com>
> ---
> tc/tc_util.c | 26 ++++++++++++--------------
> 1 files changed, 12 insertions(+), 14 deletions(-)
>
> diff --git a/tc/tc_util.c b/tc/tc_util.c
> index 0939536..6e68d87 100644
> --- a/tc/tc_util.c
> +++ b/tc/tc_util.c
> @@ -139,7 +139,8 @@ static const struct rate_suffix {
> { "GBps", 8000000000. },
> { "TiBps", 8.*1024.*1024.*1024.*1024. },
> { "TBps", 8000000000000. },
> - { NULL }
> + { NULL },
> + { NULL },
> };
>
>
> @@ -171,21 +172,18 @@ void print_rate(char *buf, int len, __u64 rate)
> {
> double tmp = (double)rate*8;
> extern int use_iec;
> + int start = 0;
> + const struct rate_suffix *s;
>
> if (use_iec) {
> - if (tmp >= 1000.0*1024.0*1024.0)
> - snprintf(buf, len, "%.0fMibit", tmp/(1024.0*1024.0));
> - else if (tmp >= 1000.0*1024)
> - snprintf(buf, len, "%.0fKibit", tmp/1024);
> - else
> - snprintf(buf, len, "%.0fbit", tmp);
> - } else {
> - if (tmp >= 1000.0*1000000.0)
> - snprintf(buf, len, "%.0fMbit", tmp/1000000.0);
> - else if (tmp >= 1000.0 * 1000.0)
> - snprintf(buf, len, "%.0fKbit", tmp/1000.0);
> - else
> - snprintf(buf, len, "%.0fbit", tmp);
> + start = 1;
> + }
> +
> + snprintf(buf, len, "%.0fbit", tmp);
> + for (s = &suffixes[start]; s->name; s += 2) {
> + if (tmp >= s->scale) {
> + snprintf(buf, len, "%.3f%s", tmp / s->scale, s->name);
> + }
> }
> }
>
Sorry, can't accept this because your patch loses functionality.
The iec flag was added for those people who
prefer iec (1024 bit) intervals. Your patch gets rid of that.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-03-12 0:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-10 3:26 [PATCH] print_rate: use knowledge in rate_suffix table for human readable rates Vimalkumar
2013-03-10 4:08 ` Eric Dumazet
2013-03-12 0:00 ` Stephen Hemminger
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).