From: marek.vasut@gmail.com (Marek Vasut)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm: remove unused code in delay.S
Date: Mon, 14 Sep 2009 18:25:55 +0200 [thread overview]
Message-ID: <200909141825.55239.marek.vasut@gmail.com> (raw)
In-Reply-To: <94a0d4530909140850h3ec1bde2ifc05ff7d340f96fe@mail.gmail.com>
Dne Po 14. z??? 2009 17:50:15 Felipe Contreras napsal(a):
> On Mon, Sep 14, 2009 at 6:21 PM, Russell King - ARM Linux
>
> <linux@arm.linux.org.uk> wrote:
> > On Mon, Sep 14, 2009 at 06:14:08PM +0300, Felipe Contreras wrote:
> >> On Mon, Sep 14, 2009 at 5:40 PM, Russell King - ARM Linux
> >>
> >> <linux@arm.linux.org.uk> wrote:
> >> > On Mon, Sep 14, 2009 at 05:38:32PM +0300, Felipe Contreras wrote:
> >> >> On Mon, Sep 14, 2009 at 5:00 PM, Russell King - ARM Linux
> >> >>
> >> >> <linux@arm.linux.org.uk> wrote:
> >> >> > On Mon, Sep 14, 2009 at 03:58:24PM +0300, Felipe Contreras wrote:
> >> >> >> On Mon, Sep 14, 2009 at 11:10 AM, Russell King - ARM Linux
> >> >> >>
> >> >> >> <linux@arm.linux.org.uk> wrote:
> >> >> >> > On Mon, Sep 14, 2009 at 01:21:00AM +0100, Jamie Lokier wrote:
> >> >> >> >> Russell King - ARM Linux wrote:
> >> >> >> >> > On Sun, Sep 13, 2009 at 11:28:47PM +0200, Marek Vasut wrote:
> >> >> >> >> > > > bhi __delay
> >> >> >> >> > > > mov pc, lr
> >> >> >> >> > > > ENDPROC(__udelay)
> >> >> >> >> > >
> >> >> >> >> > > Hi
> >> >> >> >> > >
> >> >> >> >> > > why was this code there in the first place ?
> >> >> >> >> >
> >> >> >> >> > To make the delay loop more stable and predictable on older
> >> >> >> >> > CPUs.
> >> >> >> >>
> >> >> >> >> So why has it been commented out, if it's needed for that?
> >> >> >> >
> >> >> >> > We moved on and it penalises later CPUs, leading to udelay
> >> >> >> > providing shorter delays than requested.
> >> >> >> >
> >> >> >> > So the choice was either stable and predictable on older CPUs
> >> >> >> > but buggy on newer CPUs, or correct on all CPUs but gives
> >> >> >> > unnecessarily longer delays on older CPUs.
> >> >> >>
> >> >> >> Why not add an #ifdef CPU_V4 or whatever?
> >> >> >
> >> >> > Because then you get it whenever you configure for V4 as the lowest
> >> >> > denominator CPU, which leads to the buggy behaviour on better CPUs.
> >> >> > It's far better to leave it as is and just accept that the old CPUs
> >> >> > will have longer than necessary delays. If people really really
> >> >> > care (and there's likely to only be a small minority of them now)
> >> >> > changing the '0' to a '1' is a very simple change for them to carry
> >> >> > in their local tree. Unlike getting the right unrolling etc.
> >> >>
> >> >> Well, they can also 'git revert' this patch. If somebody really cares
> >> >> I think they should shout now and provide a better patch, otherwise
> >> >> this one should be merged.
> >> >
> >> > On the other hand, having the code there as it currently stands is not
> >> > harmful in any way, so leaving it there is just as easy.
> >>
> >> It makes the code less understandable. I'm not sure about linux's
> >> practices, but an #if 0 generally means somebody is being lazy.
> >
> > I would agree with you if it was a complicated bit of code, but it
> > isn't. It is a simple count to zero (or overflow) and terminate
> > loop. And it's certainly not about me being lazy.
Russell, what about adding a comment somewhere explaining why it's there? That'd
be a fine fix I think.
>
> Maybe it's not complicated to you, but not everyone is so literate
> about ARM assembly code (e.g. me). When I first looked at the code I
> didn't even realize there was an #if 0 there, which yes, I grant is a
> problem of my editor, but the issue wouldn't have happened if the code
> wasn't there in the first place.
This is still religious argument and or your problem -- fix your editor.
>
> And I'm not saying your are being lazy, if anything it's probably the
> people using this code. They should figure a way to avoid patching the
> code. However, these users are hypothetical at this point.
If you could invest your time into investigating how to make this configurable
instead of arguing about #if 0, it'd be awesome.
>
> > Unless there is a strong argument for removing it, the code stays as
> > is.
> >
> > So far, the argument is basically "it's a #if 0, we must get rid of
> > it" which is a religous argument, not a technical one. The fact is
> > that (as I said above) keeping it there provides the code for when
> > people want to enable it. That's a technical reason for keeping it.
> >
> > Please can we now move to something more productive instead of this
> > religous argument?
>
> I don't think a good argument has been stated, I'll try to do that on
> Wolfram's reply.
>
WARNING: multiple messages have this Message-ID (diff)
From: Marek Vasut <marek.vasut@gmail.com>
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: "Russell King - ARM Linux" <linux@arm.linux.org.uk>,
Jamie Lokier <jamie@shareable.org>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] arm: remove unused code in delay.S
Date: Mon, 14 Sep 2009 18:25:55 +0200 [thread overview]
Message-ID: <200909141825.55239.marek.vasut@gmail.com> (raw)
In-Reply-To: <94a0d4530909140850h3ec1bde2ifc05ff7d340f96fe@mail.gmail.com>
Dne Po 14. září 2009 17:50:15 Felipe Contreras napsal(a):
> On Mon, Sep 14, 2009 at 6:21 PM, Russell King - ARM Linux
>
> <linux@arm.linux.org.uk> wrote:
> > On Mon, Sep 14, 2009 at 06:14:08PM +0300, Felipe Contreras wrote:
> >> On Mon, Sep 14, 2009 at 5:40 PM, Russell King - ARM Linux
> >>
> >> <linux@arm.linux.org.uk> wrote:
> >> > On Mon, Sep 14, 2009 at 05:38:32PM +0300, Felipe Contreras wrote:
> >> >> On Mon, Sep 14, 2009 at 5:00 PM, Russell King - ARM Linux
> >> >>
> >> >> <linux@arm.linux.org.uk> wrote:
> >> >> > On Mon, Sep 14, 2009 at 03:58:24PM +0300, Felipe Contreras wrote:
> >> >> >> On Mon, Sep 14, 2009 at 11:10 AM, Russell King - ARM Linux
> >> >> >>
> >> >> >> <linux@arm.linux.org.uk> wrote:
> >> >> >> > On Mon, Sep 14, 2009 at 01:21:00AM +0100, Jamie Lokier wrote:
> >> >> >> >> Russell King - ARM Linux wrote:
> >> >> >> >> > On Sun, Sep 13, 2009 at 11:28:47PM +0200, Marek Vasut wrote:
> >> >> >> >> > > > bhi __delay
> >> >> >> >> > > > mov pc, lr
> >> >> >> >> > > > ENDPROC(__udelay)
> >> >> >> >> > >
> >> >> >> >> > > Hi
> >> >> >> >> > >
> >> >> >> >> > > why was this code there in the first place ?
> >> >> >> >> >
> >> >> >> >> > To make the delay loop more stable and predictable on older
> >> >> >> >> > CPUs.
> >> >> >> >>
> >> >> >> >> So why has it been commented out, if it's needed for that?
> >> >> >> >
> >> >> >> > We moved on and it penalises later CPUs, leading to udelay
> >> >> >> > providing shorter delays than requested.
> >> >> >> >
> >> >> >> > So the choice was either stable and predictable on older CPUs
> >> >> >> > but buggy on newer CPUs, or correct on all CPUs but gives
> >> >> >> > unnecessarily longer delays on older CPUs.
> >> >> >>
> >> >> >> Why not add an #ifdef CPU_V4 or whatever?
> >> >> >
> >> >> > Because then you get it whenever you configure for V4 as the lowest
> >> >> > denominator CPU, which leads to the buggy behaviour on better CPUs.
> >> >> > It's far better to leave it as is and just accept that the old CPUs
> >> >> > will have longer than necessary delays. If people really really
> >> >> > care (and there's likely to only be a small minority of them now)
> >> >> > changing the '0' to a '1' is a very simple change for them to carry
> >> >> > in their local tree. Unlike getting the right unrolling etc.
> >> >>
> >> >> Well, they can also 'git revert' this patch. If somebody really cares
> >> >> I think they should shout now and provide a better patch, otherwise
> >> >> this one should be merged.
> >> >
> >> > On the other hand, having the code there as it currently stands is not
> >> > harmful in any way, so leaving it there is just as easy.
> >>
> >> It makes the code less understandable. I'm not sure about linux's
> >> practices, but an #if 0 generally means somebody is being lazy.
> >
> > I would agree with you if it was a complicated bit of code, but it
> > isn't. It is a simple count to zero (or overflow) and terminate
> > loop. And it's certainly not about me being lazy.
Russell, what about adding a comment somewhere explaining why it's there? That'd
be a fine fix I think.
>
> Maybe it's not complicated to you, but not everyone is so literate
> about ARM assembly code (e.g. me). When I first looked at the code I
> didn't even realize there was an #if 0 there, which yes, I grant is a
> problem of my editor, but the issue wouldn't have happened if the code
> wasn't there in the first place.
This is still religious argument and or your problem -- fix your editor.
>
> And I'm not saying your are being lazy, if anything it's probably the
> people using this code. They should figure a way to avoid patching the
> code. However, these users are hypothetical at this point.
If you could invest your time into investigating how to make this configurable
instead of arguing about #if 0, it'd be awesome.
>
> > Unless there is a strong argument for removing it, the code stays as
> > is.
> >
> > So far, the argument is basically "it's a #if 0, we must get rid of
> > it" which is a religous argument, not a technical one. The fact is
> > that (as I said above) keeping it there provides the code for when
> > people want to enable it. That's a technical reason for keeping it.
> >
> > Please can we now move to something more productive instead of this
> > religous argument?
>
> I don't think a good argument has been stated, I'll try to do that on
> Wolfram's reply.
>
next prev parent reply other threads:[~2009-09-14 16:25 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-13 21:05 [PATCH] arm: remove unused code in delay.S Felipe Contreras
2009-09-13 21:05 ` Felipe Contreras
2009-09-13 21:28 ` Marek Vasut
2009-09-13 21:28 ` Marek Vasut
2009-09-13 23:00 ` Russell King - ARM Linux
2009-09-13 23:00 ` Russell King - ARM Linux
2009-09-14 0:21 ` Jamie Lokier
2009-09-14 0:21 ` Jamie Lokier
2009-09-14 8:10 ` Russell King - ARM Linux
2009-09-14 8:10 ` Russell King - ARM Linux
2009-09-14 12:58 ` Felipe Contreras
2009-09-14 12:58 ` Felipe Contreras
2009-09-14 14:00 ` Russell King - ARM Linux
2009-09-14 14:00 ` Russell King - ARM Linux
2009-09-14 14:38 ` Felipe Contreras
2009-09-14 14:38 ` Felipe Contreras
2009-09-14 14:40 ` Russell King - ARM Linux
2009-09-14 14:40 ` Russell King - ARM Linux
2009-09-14 15:14 ` Felipe Contreras
2009-09-14 15:14 ` Felipe Contreras
2009-09-14 15:21 ` Russell King - ARM Linux
2009-09-14 15:21 ` Russell King - ARM Linux
2009-09-14 15:50 ` Felipe Contreras
2009-09-14 15:50 ` Felipe Contreras
2009-09-14 16:25 ` Marek Vasut [this message]
2009-09-14 16:25 ` Marek Vasut
2009-09-14 16:54 ` Felipe Contreras
2009-09-14 16:54 ` Felipe Contreras
2009-09-14 15:36 ` Wolfram Sang
2009-09-14 15:36 ` Wolfram Sang
2009-09-14 16:06 ` Felipe Contreras
2009-09-14 16:06 ` Felipe Contreras
2009-09-14 16:24 ` Wolfram Sang
2009-09-14 16:24 ` Wolfram Sang
2009-09-15 10:37 ` Pavel Machek
2009-09-15 10:37 ` Pavel Machek
2009-09-15 10:47 ` Felipe Contreras
2009-09-15 10:47 ` Felipe Contreras
2009-09-15 10:49 ` Pavel Machek
2009-09-15 10:49 ` Pavel Machek
2009-09-15 11:20 ` Felipe Contreras
2009-09-15 11:20 ` Felipe Contreras
2009-09-15 12:29 ` Steve Chen
2009-09-15 12:29 ` Steve Chen
2009-09-15 13:41 ` Marek Vasut
2009-09-15 13:41 ` Marek Vasut
2009-09-15 16:30 ` Steve Chen
2009-09-15 16:30 ` Steve Chen
2009-09-15 18:58 ` Felipe Contreras
2009-09-15 18:58 ` Felipe Contreras
2009-09-15 19:44 ` Steve Chen
2009-09-15 19:44 ` Steve Chen
2009-09-15 20:39 ` Marek Vasut
2009-09-15 20:39 ` Marek Vasut
2009-09-15 21:04 ` Krzysztof Halasa
2009-09-15 21:04 ` Krzysztof Halasa
2009-09-15 22:26 ` Steve Chen
2009-09-15 22:26 ` Steve Chen
2009-09-15 22:47 ` Krzysztof Halasa
2009-09-15 22:47 ` Krzysztof Halasa
2009-09-16 8:26 ` Steve Chen
2009-09-16 8:26 ` Steve Chen
2009-09-16 12:30 ` Krzysztof Halasa
2009-09-16 12:30 ` Krzysztof Halasa
2009-09-16 14:49 ` Steve Chen
2009-09-16 14:49 ` Steve Chen
2009-09-16 20:21 ` Sergei Shtylyov
2009-09-16 20:21 ` Sergei Shtylyov
2009-09-16 13:47 ` Russell King - ARM Linux
2009-09-16 13:47 ` Russell King - ARM Linux
2009-09-17 19:32 ` Jamie Lokier
2009-09-17 19:32 ` Jamie Lokier
2009-09-17 19:41 ` Russell King - ARM Linux
2009-09-17 19:41 ` Russell King - ARM Linux
2009-09-17 21:29 ` [PATCH v2] " Steve Chen
2009-09-17 21:29 ` Steve Chen
2009-09-17 21:37 ` Jamie Lokier
2009-09-17 21:37 ` Jamie Lokier
2009-09-17 22:25 ` Steve Chen
2009-09-17 22:25 ` Steve Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200909141825.55239.marek.vasut@gmail.com \
--to=marek.vasut@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.