From: schen@mvista.com (Steve Chen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm: remove unused code in delay.S
Date: Tue, 15 Sep 2009 07:29:21 -0500 [thread overview]
Message-ID: <1253017761.3273.117.camel@linux-1lbu> (raw)
In-Reply-To: <20090915103739.GA19519@elf.ucw.cz>
On Tue, 2009-09-15 at 12:37 +0200, Pavel Machek wrote:
> > >> > 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.
>
> Not in this case, as you was explained to you. You may want to add
> explaining comment above #if 0....
> Pavel
Perhaps we can document with something like..
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index aef63c8..ca8d535 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -813,6 +813,14 @@ config ARM_ERRATA_460075
ACTLR register. Note that setting specific bits in the ACTLR
register
may not be available in non-secure mode.
+config OLD_CPU_DELAY
+ depends on CPU_32v3 || CPU_32v4 || CPU_32v4T
+ bool "Accurate delays for older CPU"
+ def_bool n
+ help
+ Enable if observing longer than expected delays and need more
+ accurate delays on older CPUs.
+
endmenu
source "arch/arm/common/Kconfig"
diff --git a/arch/arm/lib/delay.S b/arch/arm/lib/delay.S
index 8d6a876..8b3fa63 100644
--- a/arch/arm/lib/delay.S
+++ b/arch/arm/lib/delay.S
@@ -42,7 +42,7 @@ ENTRY(__const_udelay) @ 0 <= r0 <= 0x7fffff06
@ Delay routine
ENTRY(__delay)
subs r0, r0, #1
-#if 0
+#if CONFIG_OLD_CPU_DELAY
movls pc, lr
subs r0, r0, #1
movls pc, lr
WARNING: multiple messages have this Message-ID (diff)
From: Steve Chen <schen@mvista.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: Felipe Contreras <felipe.contreras@gmail.com>,
Jamie Lokier <jamie@shareable.org>,
Russell King - ARM Linux <linux@arm.linux.org.uk>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Marek Vasut <marek.vasut@gmail.com>
Subject: Re: [PATCH] arm: remove unused code in delay.S
Date: Tue, 15 Sep 2009 07:29:21 -0500 [thread overview]
Message-ID: <1253017761.3273.117.camel@linux-1lbu> (raw)
In-Reply-To: <20090915103739.GA19519@elf.ucw.cz>
On Tue, 2009-09-15 at 12:37 +0200, Pavel Machek wrote:
> > >> > 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.
>
> Not in this case, as you was explained to you. You may want to add
> explaining comment above #if 0....
> Pavel
Perhaps we can document with something like..
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index aef63c8..ca8d535 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -813,6 +813,14 @@ config ARM_ERRATA_460075
ACTLR register. Note that setting specific bits in the ACTLR
register
may not be available in non-secure mode.
+config OLD_CPU_DELAY
+ depends on CPU_32v3 || CPU_32v4 || CPU_32v4T
+ bool "Accurate delays for older CPU"
+ def_bool n
+ help
+ Enable if observing longer than expected delays and need more
+ accurate delays on older CPUs.
+
endmenu
source "arch/arm/common/Kconfig"
diff --git a/arch/arm/lib/delay.S b/arch/arm/lib/delay.S
index 8d6a876..8b3fa63 100644
--- a/arch/arm/lib/delay.S
+++ b/arch/arm/lib/delay.S
@@ -42,7 +42,7 @@ ENTRY(__const_udelay) @ 0 <= r0 <= 0x7fffff06
@ Delay routine
ENTRY(__delay)
subs r0, r0, #1
-#if 0
+#if CONFIG_OLD_CPU_DELAY
movls pc, lr
subs r0, r0, #1
movls pc, lr
next prev parent reply other threads:[~2009-09-15 12:29 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
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 [this message]
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=1253017761.3273.117.camel@linux-1lbu \
--to=schen@mvista.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.