All of lore.kernel.org
 help / color / mirror / Atom feed
* [ricardo@scarybox.net: Re: [PATCH 1/4] sound/isa: use unsigned for
@ 2008-05-11 17:33 ` Ricardo Martins
  0 siblings, 0 replies; 2+ messages in thread
From: Ricardo Martins @ 2008-05-11 17:33 UTC (permalink / raw)
  To: kernel-janitors; +Cc: julia, perex, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2415 bytes --]

Sorry, I forgot to CC the list.

----- Forwarded message from Ricardo Martins <ricardo@scarybox.net> -----

Date: Sun, 11 May 2008 18:16:52 +0100
From: Ricardo Martins <ricardo@scarybox.net>
To: Alexey Dobriyan <adobriyan@gmail.com>
Subject: Re: [PATCH 1/4] sound/isa: use unsigned for loop index
User-Agent: Mutt/1.5.17 (2007-11-01)

On Sun, 11 May 2008 21:22, Alexey Dobriyan wrote:
> On Sun, May 11, 2008 at 05:08:32PM +0100, Ricardo Martins wrote:
> > On Sun, 11 May 2008 20:43, Alexey Dobriyan wrote:
> > > On Sun, May 11, 2008 at 02:50:33PM +0200, Julia Lawall wrote:
> > > > A few more cases in the spirit of the patch "Trivial: Replacement of always
> > > > >0 ints with unsigned ints" submitted by Ricardo Martins <ricardo@scarybox.net>
> > > 
> > > And rationale for those would be ...?
> > 
> > Acccording to the kernel-janitors TODO [1], Jeff Garzik suggested the following:
> > 
> >   2) "unsigned int" is preferred to "int", it generates better asm code
> >   on all platforms except sh5. This replacement needs to be done manually,
> >   because often 'int' is required due to negative values -Exxx commonly
> >   passed as error values.
> > 
> > Since (most) loop counters such as "int i" are always either zero or a positive
> > number, they are perfect candidates for using unsigned int instead, imho.
> > It goes without saying, that each case must be considered separately in
> > case a negative value is indeed needed.
> > 
> > [1] http://kernelnewbies.org/KernelJanitors/Todo
> 
> So you've checked disassembly in both cases and saw it's better?

The generated assembly code in a very simple test case (two 'for' loops,
one using an int and another using an unsigned int as the counter
variable) is exactly the same in both cases.

However, since this was a very very simple test case, I supposed that Jeff
Garzik's claim would hold true in more complex cases.

Comparing the output of "objdump -M intel -d drivers/video/nvidia/nvidia.o"
before and after my patch, I reach the same conclusion: at least in my
arch (x86_64), both versions are approximately the same. If anyone is
interested, I can email or upload those dumps somewhere.

Now I feel like a fool. That teaches me to always doubt each and every claim
I am exposed to.

Regards,
-- 
 Ricardo Martins  *  scarybox.net  *  GPG key: 0x1308F1B4

----- End forwarded message -----

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

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

* [ricardo@scarybox.net: Re: [PATCH 1/4] sound/isa: use unsigned for loop index]
@ 2008-05-11 17:33 ` Ricardo Martins
  0 siblings, 0 replies; 2+ messages in thread
From: Ricardo Martins @ 2008-05-11 17:33 UTC (permalink / raw)
  To: kernel-janitors; +Cc: julia, perex, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2415 bytes --]

Sorry, I forgot to CC the list.

----- Forwarded message from Ricardo Martins <ricardo@scarybox.net> -----

Date: Sun, 11 May 2008 18:16:52 +0100
From: Ricardo Martins <ricardo@scarybox.net>
To: Alexey Dobriyan <adobriyan@gmail.com>
Subject: Re: [PATCH 1/4] sound/isa: use unsigned for loop index
User-Agent: Mutt/1.5.17 (2007-11-01)

On Sun, 11 May 2008 21:22, Alexey Dobriyan wrote:
> On Sun, May 11, 2008 at 05:08:32PM +0100, Ricardo Martins wrote:
> > On Sun, 11 May 2008 20:43, Alexey Dobriyan wrote:
> > > On Sun, May 11, 2008 at 02:50:33PM +0200, Julia Lawall wrote:
> > > > A few more cases in the spirit of the patch "Trivial: Replacement of always
> > > > >0 ints with unsigned ints" submitted by Ricardo Martins <ricardo@scarybox.net>
> > > 
> > > And rationale for those would be ...?
> > 
> > Acccording to the kernel-janitors TODO [1], Jeff Garzik suggested the following:
> > 
> >   2) "unsigned int" is preferred to "int", it generates better asm code
> >   on all platforms except sh5. This replacement needs to be done manually,
> >   because often 'int' is required due to negative values -Exxx commonly
> >   passed as error values.
> > 
> > Since (most) loop counters such as "int i" are always either zero or a positive
> > number, they are perfect candidates for using unsigned int instead, imho.
> > It goes without saying, that each case must be considered separately in
> > case a negative value is indeed needed.
> > 
> > [1] http://kernelnewbies.org/KernelJanitors/Todo
> 
> So you've checked disassembly in both cases and saw it's better?

The generated assembly code in a very simple test case (two 'for' loops,
one using an int and another using an unsigned int as the counter
variable) is exactly the same in both cases.

However, since this was a very very simple test case, I supposed that Jeff
Garzik's claim would hold true in more complex cases.

Comparing the output of "objdump -M intel -d drivers/video/nvidia/nvidia.o"
before and after my patch, I reach the same conclusion: at least in my
arch (x86_64), both versions are approximately the same. If anyone is
interested, I can email or upload those dumps somewhere.

Now I feel like a fool. That teaches me to always doubt each and every claim
I am exposed to.

Regards,
-- 
 Ricardo Martins  *  scarybox.net  *  GPG key: 0x1308F1B4

----- End forwarded message -----

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

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

end of thread, other threads:[~2008-05-11 17:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-11 17:33 [ricardo@scarybox.net: Re: [PATCH 1/4] sound/isa: use unsigned for Ricardo Martins
2008-05-11 17:33 ` [ricardo@scarybox.net: Re: [PATCH 1/4] sound/isa: use unsigned for loop index] Ricardo Martins

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.