public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] Make TFTP Quiet
@ 2009-08-10 20:26 Robin Getz
  2009-08-10 20:55 ` Timur Tabi
  2009-08-13  4:01 ` Mike Frysinger
  0 siblings, 2 replies; 9+ messages in thread
From: Robin Getz @ 2009-08-10 20:26 UTC (permalink / raw)
  To: u-boot



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH] Make TFTP Quiet
  2009-08-10 20:26 [U-Boot] [PATCH] Make TFTP Quiet Robin Getz
@ 2009-08-10 20:55 ` Timur Tabi
  2009-08-10 23:33   ` Scott Wood
                     ` (2 more replies)
  2009-08-13  4:01 ` Mike Frysinger
  1 sibling, 3 replies; 9+ messages in thread
From: Timur Tabi @ 2009-08-10 20:55 UTC (permalink / raw)
  To: u-boot

On Mon, Aug 10, 2009 at 3:26 PM, Robin Getz<rgetz@blackfin.uclinux.org> wrote:
> From bca49fb5e3045bc175e924999a4015804c39c5c6 Mon Sep 17 00:00:00 2001
> From: Robin Getz <rgetz@blackfin.uclinux.org>
>
> I was using this when I was looking at some other recent tftp performance,
> and thought I would share. I really don't think it belongs, as it is
> (a) trivial and (b) mostly debug... (but I'm trying out some more things
> with git).
>
> This adds the ability to make tftp a little quieter, which saves some
> time printing hash marks on the console. It also has the ability to
> print some download stats for debugging network issues.
>
> Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org>
>
> ---
> ?net/tftp.c | ? 29 ++++++++++++++++++++++++-----
> ?1 files changed, 24 insertions(+), 5 deletions(-)
>
> diff --git a/net/tftp.c b/net/tftp.c
> index 0fa7033..9544691 100644
> --- a/net/tftp.c
> +++ b/net/tftp.c
> @@ -22,6 +22,16 @@
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* (for checking the image size) ? ? ? ?*/
> ?#define HASHES_PER_LINE ? ? ? ?65 ? ? ? ? ? ? ?/* Number of "loading" hashes per line ?*/
>
> +#ifdef CONFIG_TFTP_QUIET
> +#define puts_quiet(fmt)
> +#else
> +#define puts_quiet(fmt) ? ? ? ? ? ? ? ?puts(fmt);
> +#endif

This looks backwards to me.  I would do this:

#ifdef CONFIG_TFTP_QUIET
#define puts(x) puts_quiet(x)
#endif

That way, you don't need to change all of the puts calls to
puts_quiet.   Plus, having the normal calls be "puts_quiet" that
changes to puts when QUIET is *not* enabled just feels wrong.

-- 
Timur Tabi
Linux kernel developer at Freescale

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH] Make TFTP Quiet
  2009-08-10 20:55 ` Timur Tabi
@ 2009-08-10 23:33   ` Scott Wood
  2009-08-11  1:10   ` Robin Getz
  2009-08-12 10:02   ` Detlev Zundel
  2 siblings, 0 replies; 9+ messages in thread
From: Scott Wood @ 2009-08-10 23:33 UTC (permalink / raw)
  To: u-boot

On Mon, Aug 10, 2009 at 03:55:20PM -0500, Timur Tabi wrote:
> > +#ifdef CONFIG_TFTP_QUIET
> > +#define puts_quiet(fmt)
> > +#else
> > +#define puts_quiet(fmt) ? ? ? ? ? ? ? ?puts(fmt);
> > +#endif
> 
> This looks backwards to me.  I would do this:
> 
> #ifdef CONFIG_TFTP_QUIET
> #define puts(x) puts_quiet(x)
> #endif
> 
> That way, you don't need to change all of the puts calls to
> puts_quiet.   Plus, having the normal calls be "puts_quiet" that
> changes to puts when QUIET is *not* enabled just feels wrong.

I think the point was to establish two different functions a caller may
use -- puts() which always prints, and puts_quiet() which only prints
when the user hasn't asked for silence.

-Scott

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH] Make TFTP Quiet
  2009-08-10 20:55 ` Timur Tabi
  2009-08-10 23:33   ` Scott Wood
@ 2009-08-11  1:10   ` Robin Getz
  2009-08-12 10:02   ` Detlev Zundel
  2 siblings, 0 replies; 9+ messages in thread
From: Robin Getz @ 2009-08-11  1:10 UTC (permalink / raw)
  To: u-boot

On Mon 10 Aug 2009 16:55, Timur Tabi pondered:
> On Mon, Aug 10, 2009 at 3:26 PM, Robin Getz<rgetz@blackfin.uclinux.org> wrote:
> > --- a/net/tftp.c
> > +++ b/net/tftp.c
> > @@ -22,6 +22,16 @@
> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* (for checking the image size) ? ? ? ?*/
> > ?#define HASHES_PER_LINE ? ? ? ?65 ? ? ? ? ? ? ?/* Number of "loading" hashes per line ?*/
> >
> > +#ifdef CONFIG_TFTP_QUIET
> > +#define puts_quiet(fmt)
> > +#else
> > +#define puts_quiet(fmt) ? ? ? ? ? ? ? ?puts(fmt);
> > +#endif
> 
> This looks backwards to me.  I would do this:
> 
> #ifdef CONFIG_TFTP_QUIET
> #define puts(x) puts_quiet(x)
> #endif
> 
> That way, you don't need to change all of the puts calls to
> puts_quiet.   Plus, having the normal calls be "puts_quiet" that
> changes to puts when QUIET is *not* enabled just feels wrong.

There are other puts that you don't want quiet...

                puts ("Starting again\n\n");
                puts ("\nRetry count exceeded; starting again\n");

Otherwise - if you have a bad network - it will never output anything...

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH] Make TFTP Quiet
  2009-08-10 20:55 ` Timur Tabi
  2009-08-10 23:33   ` Scott Wood
  2009-08-11  1:10   ` Robin Getz
@ 2009-08-12 10:02   ` Detlev Zundel
  2009-08-12 19:48     ` Scott Wood
  2 siblings, 1 reply; 9+ messages in thread
From: Detlev Zundel @ 2009-08-12 10:02 UTC (permalink / raw)
  To: u-boot

Hi Timur,

>> +#ifdef CONFIG_TFTP_QUIET
>> +#define puts_quiet(fmt)
>> +#else
>> +#define puts_quiet(fmt) ? ? ? ? ? ? ? ?puts(fmt);
>> +#endif
>
> This looks backwards to me.  I would do this:
>
> #ifdef CONFIG_TFTP_QUIET
> #define puts(x) puts_quiet(x)
> #endif
>
> That way, you don't need to change all of the puts calls to
> puts_quiet.   Plus, having the normal calls be "puts_quiet" that
> changes to puts when QUIET is *not* enabled just feels wrong.

Just as a general remark - I consider it a bad idea to "overload" well
known functions with non-standard behaviour.  This breaks the "principle
of least surprise" which turns out to be very valuable.

Cheers
  Detlev

-- 
It was actually a very beautiful thing to see a sunrise, cause' that's
such a calm time of day. It's a wonderful time of day  to get ready to
go to bed.
                                            -- Richard M. Stallman
--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH] Make TFTP Quiet
  2009-08-12 10:02   ` Detlev Zundel
@ 2009-08-12 19:48     ` Scott Wood
  2009-08-12 20:06       ` Robin Getz
  0 siblings, 1 reply; 9+ messages in thread
From: Scott Wood @ 2009-08-12 19:48 UTC (permalink / raw)
  To: u-boot

On Wed, Aug 12, 2009 at 12:02:33PM +0200, Detlev Zundel wrote:
> Hi Timur,
> 
> >> +#ifdef CONFIG_TFTP_QUIET
> >> +#define puts_quiet(fmt)
> >> +#else
> >> +#define puts_quiet(fmt) ? ? ? ? ? ? ? ?puts(fmt);
> >> +#endif
> >
> > This looks backwards to me.  I would do this:
> >
> > #ifdef CONFIG_TFTP_QUIET
> > #define puts(x) puts_quiet(x)
> > #endif
> >
> > That way, you don't need to change all of the puts calls to
> > puts_quiet.   Plus, having the normal calls be "puts_quiet" that
> > changes to puts when QUIET is *not* enabled just feels wrong.
> 
> Just as a general remark - I consider it a bad idea to "overload" well
> known functions with non-standard behaviour.  This breaks the "principle
> of least surprise" which turns out to be very valuable.

Technically, U-Boot's puts() is already non-standard (no automatic
newline)...

But there's no redefinition in the original patch.  It's just introducing
a new puts_quiet().

-Scott

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH] Make TFTP Quiet
  2009-08-12 19:48     ` Scott Wood
@ 2009-08-12 20:06       ` Robin Getz
  2009-08-13 11:32         ` Detlev Zundel
  0 siblings, 1 reply; 9+ messages in thread
From: Robin Getz @ 2009-08-12 20:06 UTC (permalink / raw)
  To: u-boot

On Wed 12 Aug 2009 15:48, Scott Wood pondered:
> On Wed, Aug 12, 2009 at 12:02:33PM +0200, Detlev Zundel wrote:
> > Hi Timur,
> > 
> > >> +#ifdef CONFIG_TFTP_QUIET
> > >> +#define puts_quiet(fmt)
> > >> +#else
> > >> +#define puts_quiet(fmt) ? ? ? ? ? ? ? ?puts(fmt);
> > >> +#endif
> > >
> > > This looks backwards to me.  I would do this:
> > >
> > > #ifdef CONFIG_TFTP_QUIET
> > > #define puts(x) puts_quiet(x)
> > > #endif
> > >
> > > That way, you don't need to change all of the puts calls to
> > > puts_quiet.   Plus, having the normal calls be "puts_quiet" that
> > > changes to puts when QUIET is *not* enabled just feels wrong.
> > 
> > Just as a general remark - I consider it a bad idea to "overload" well
> > known functions with non-standard behaviour.  This breaks the "principle
> > of least surprise" which turns out to be very valuable.
> 
> Technically, U-Boot's puts() is already non-standard (no automatic
> newline)...
> 
> But there's no redefinition in the original patch.  It's just introducing
> a new puts_quiet().

Yeah, I think Detlev was just commenting on Timur's suggestion to the patch, 
not on the original patch...

I would be happy to change things to a debugX() - but this changes everyone's 
default behaviour (it becomes opt in, not opt-out), and most likely would 
cause some puzzlement when normally things don't print like they use to...

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH] Make TFTP Quiet
  2009-08-10 20:26 [U-Boot] [PATCH] Make TFTP Quiet Robin Getz
  2009-08-10 20:55 ` Timur Tabi
@ 2009-08-13  4:01 ` Mike Frysinger
  1 sibling, 0 replies; 9+ messages in thread
From: Mike Frysinger @ 2009-08-13  4:01 UTC (permalink / raw)
  To: u-boot

On Monday 10 August 2009 16:26:20 Robin Getz wrote:
> From bca49fb5e3045bc175e924999a4015804c39c5c6 Mon Sep 17 00:00:00 2001
> From: Robin Getz <rgetz@blackfin.uclinux.org>
>
> I was using this when I was looking at some other recent tftp performance,
> and thought I would share. I really don't think it belongs, as it is
> (a) trivial and (b) mostly debug... (but I'm trying out some more things
> with git).
>
> This adds the ability to make tftp a little quieter, which saves some
> time printing hash marks on the console. It also has the ability to
> print some download stats for debugging network issues.
>
> Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org>
>
> ---
>  net/tftp.c |   29 ++++++++++++++++++++++++-----
>  1 files changed, 24 insertions(+), 5 deletions(-)
>
> diff --git a/net/tftp.c b/net/tftp.c
> index 0fa7033..9544691 100644
> --- a/net/tftp.c
> +++ b/net/tftp.c
> @@ -22,6 +22,16 @@
>  					/* (for checking the image size)	*/
>  #define HASHES_PER_LINE	65		/* Number of "loading" hashes per line	*/
>
> +#ifdef CONFIG_TFTP_QUIET
> +#define puts_quiet(fmt)
> +#else
> +#define puts_quiet(fmt)		puts(fmt);

macros shouldnt insert semi-colons for you

> -				putc ('#');
> +				puts_quiet("#");

you might as well fix the style while you're here (no spaces before the open 
paren)

> +			printf("Time to download == %ld ms\n", end_time - start_time);
> +			printf("Download rate = %lld bytes/second\n", (long
> long)(NetBootFileXferSize) * 1000 / (end_time - start_time));

shouldnt they both be = or == ?  do you really need 64bit math ?
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20090813/1d4969b4/attachment.pgp 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH] Make TFTP Quiet
  2009-08-12 20:06       ` Robin Getz
@ 2009-08-13 11:32         ` Detlev Zundel
  0 siblings, 0 replies; 9+ messages in thread
From: Detlev Zundel @ 2009-08-13 11:32 UTC (permalink / raw)
  To: u-boot

Hi,

> On Wed 12 Aug 2009 15:48, Scott Wood pondered:
>> On Wed, Aug 12, 2009 at 12:02:33PM +0200, Detlev Zundel wrote:
>> > Hi Timur,
>> > 
>> > >> +#ifdef CONFIG_TFTP_QUIET
>> > >> +#define puts_quiet(fmt)
>> > >> +#else
>> > >> +#define puts_quiet(fmt) ? ? ? ? ? ? ? ?puts(fmt);
>> > >> +#endif
>> > >
>> > > This looks backwards to me.  I would do this:
>> > >
>> > > #ifdef CONFIG_TFTP_QUIET
>> > > #define puts(x) puts_quiet(x)
>> > > #endif
>> > >
>> > > That way, you don't need to change all of the puts calls to
>> > > puts_quiet.   Plus, having the normal calls be "puts_quiet" that
>> > > changes to puts when QUIET is *not* enabled just feels wrong.
>> > 
>> > Just as a general remark - I consider it a bad idea to "overload" well
>> > known functions with non-standard behaviour.  This breaks the "principle
>> > of least surprise" which turns out to be very valuable.
>> 
>> Technically, U-Boot's puts() is already non-standard (no automatic
>> newline)...
>> 
>> But there's no redefinition in the original patch.  It's just introducing
>> a new puts_quiet().
>
> Yeah, I think Detlev was just commenting on Timur's suggestion to the patch, 
> not on the original patch...

Correct.

Cheers
  Detlev

-- 
To you I'm an atheist; to God, I'm the Loyal Opposition.
                                        -- Woody Allen
--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-08-13 11:32 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-10 20:26 [U-Boot] [PATCH] Make TFTP Quiet Robin Getz
2009-08-10 20:55 ` Timur Tabi
2009-08-10 23:33   ` Scott Wood
2009-08-11  1:10   ` Robin Getz
2009-08-12 10:02   ` Detlev Zundel
2009-08-12 19:48     ` Scott Wood
2009-08-12 20:06       ` Robin Getz
2009-08-13 11:32         ` Detlev Zundel
2009-08-13  4:01 ` Mike Frysinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox