From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: ath9k-devel@lists.ath9k.org
Subject: [ath9k-devel] [PATCH 1/3] ath9k: Fix build error on ARM
Date: Wed, 5 Feb 2014 12:41:28 +0000 [thread overview]
Message-ID: <20140205124127.GP26684@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <1391603566.2538.63.camel@joe-AO722>
On Wed, Feb 05, 2014 at 04:32:46AM -0800, Joe Perches wrote:
> On Wed, 2014-02-05 at 11:50 +0000, Russell King - ARM Linux wrote:
> > On Tue, Feb 04, 2014 at 08:36:36AM -0800, Joe Perches wrote:
> > > On Tue, 2014-02-04 at 08:03 +0100, Holger Schurig wrote:
> > > > Joe, look in linux/arch/arm/include/asm/delay.h. The macro udelay
> > > > cannot handle large values because of lost-of-precision.
> > > >
> > > > IMHO udelay on ARM is broken, because it also cannot work with fast
> > > > ARM processors (where bogomips >= 3355, which is in sight now). It's
> > > > just not broken enought that someone did something against it ... so
> > > > the current kludge is good enought.
> > >
> > > Maybe something like this would be better?
> >
> > No, the point of __bad_udelay() is that people doing stupidly large
> > udelay()s result in build errors,
>
> Apparently, people just convert stupidly large udelay()s
> to mdelay and not be bothered.
And that's the correct answer. Having udelay(10000) rather than mdelay(10)
is a sign that they weren't paying that much attention when writing the
code.
> Perhaps there should be some runtime udelay > maximum supported check.
Having both a runtime check _and_ a compile time check would actually
be a good thing, but any runtime check needs to be suitably rate-
limited.
The compile time check is very important because it catches a lot of
cases which wouldn't otherwise be found (eg, in drivers which hardly
anyone uses on ARM.)
Maybe the compile time check should be something which is implemented
in a cross-architecture way in linux/delay.h with the maximum set to
the lowest that any architecture can do?
--
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up. Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".
WARNING: multiple messages have this Message-ID (diff)
From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Joe Perches <joe@perches.com>
Cc: Holger Schurig <holgerschurig@gmail.com>,
linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
Sujith Manoharan <sujith@msujith.org>,
ath9k-devel <ath9k-devel@lists.ath9k.org>,
linux-wireless <linux-wireless@vger.kernel.org>,
John Linville <linville@tuxdriver.com>
Subject: Re: [ath9k-devel] [PATCH 1/3] ath9k: Fix build error on ARM
Date: Wed, 5 Feb 2014 12:41:28 +0000 [thread overview]
Message-ID: <20140205124127.GP26684@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <1391603566.2538.63.camel@joe-AO722>
On Wed, Feb 05, 2014 at 04:32:46AM -0800, Joe Perches wrote:
> On Wed, 2014-02-05 at 11:50 +0000, Russell King - ARM Linux wrote:
> > On Tue, Feb 04, 2014 at 08:36:36AM -0800, Joe Perches wrote:
> > > On Tue, 2014-02-04 at 08:03 +0100, Holger Schurig wrote:
> > > > Joe, look in linux/arch/arm/include/asm/delay.h. The macro udelay
> > > > cannot handle large values because of lost-of-precision.
> > > >
> > > > IMHO udelay on ARM is broken, because it also cannot work with fast
> > > > ARM processors (where bogomips >= 3355, which is in sight now). It's
> > > > just not broken enought that someone did something against it ... so
> > > > the current kludge is good enought.
> > >
> > > Maybe something like this would be better?
> >
> > No, the point of __bad_udelay() is that people doing stupidly large
> > udelay()s result in build errors,
>
> Apparently, people just convert stupidly large udelay()s
> to mdelay and not be bothered.
And that's the correct answer. Having udelay(10000) rather than mdelay(10)
is a sign that they weren't paying that much attention when writing the
code.
> Perhaps there should be some runtime udelay > maximum supported check.
Having both a runtime check _and_ a compile time check would actually
be a good thing, but any runtime check needs to be suitably rate-
limited.
The compile time check is very important because it catches a lot of
cases which wouldn't otherwise be found (eg, in drivers which hardly
anyone uses on ARM.)
Maybe the compile time check should be something which is implemented
in a cross-architecture way in linux/delay.h with the maximum set to
the lowest that any architecture can do?
--
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up. Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".
WARNING: multiple messages have this Message-ID (diff)
From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [ath9k-devel] [PATCH 1/3] ath9k: Fix build error on ARM
Date: Wed, 5 Feb 2014 12:41:28 +0000 [thread overview]
Message-ID: <20140205124127.GP26684@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <1391603566.2538.63.camel@joe-AO722>
On Wed, Feb 05, 2014 at 04:32:46AM -0800, Joe Perches wrote:
> On Wed, 2014-02-05 at 11:50 +0000, Russell King - ARM Linux wrote:
> > On Tue, Feb 04, 2014 at 08:36:36AM -0800, Joe Perches wrote:
> > > On Tue, 2014-02-04 at 08:03 +0100, Holger Schurig wrote:
> > > > Joe, look in linux/arch/arm/include/asm/delay.h. The macro udelay
> > > > cannot handle large values because of lost-of-precision.
> > > >
> > > > IMHO udelay on ARM is broken, because it also cannot work with fast
> > > > ARM processors (where bogomips >= 3355, which is in sight now). It's
> > > > just not broken enought that someone did something against it ... so
> > > > the current kludge is good enought.
> > >
> > > Maybe something like this would be better?
> >
> > No, the point of __bad_udelay() is that people doing stupidly large
> > udelay()s result in build errors,
>
> Apparently, people just convert stupidly large udelay()s
> to mdelay and not be bothered.
And that's the correct answer. Having udelay(10000) rather than mdelay(10)
is a sign that they weren't paying that much attention when writing the
code.
> Perhaps there should be some runtime udelay > maximum supported check.
Having both a runtime check _and_ a compile time check would actually
be a good thing, but any runtime check needs to be suitably rate-
limited.
The compile time check is very important because it catches a lot of
cases which wouldn't otherwise be found (eg, in drivers which hardly
anyone uses on ARM.)
Maybe the compile time check should be something which is implemented
in a cross-architecture way in linux/delay.h with the maximum set to
the lowest that any architecture can do?
--
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up. Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".
next prev parent reply other threads:[~2014-02-05 12:41 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-04 3:07 [ath9k-devel] [PATCH 0/3] ath9k patches Sujith Manoharan
2014-02-04 3:07 ` Sujith Manoharan
2014-02-04 3:07 ` [ath9k-devel] [PATCH 1/3] ath9k: Fix build error on ARM Sujith Manoharan
2014-02-04 3:07 ` Sujith Manoharan
2014-02-04 3:34 ` [ath9k-devel] " Joe Perches
2014-02-04 3:34 ` Joe Perches
2014-02-04 3:40 ` [ath9k-devel] " Sujith Manoharan
2014-02-04 3:40 ` Sujith Manoharan
2014-02-04 7:03 ` [ath9k-devel] " Holger Schurig
2014-02-04 7:03 ` Holger Schurig
2014-02-04 12:59 ` [ath9k-devel] [PATCH] checkpatch: Add test for long udelay Joe Perches
2014-02-04 12:59 ` Joe Perches
2014-02-04 12:59 ` Joe Perches
2014-02-04 16:36 ` [ath9k-devel] [PATCH 1/3] ath9k: Fix build error on ARM Joe Perches
2014-02-04 16:36 ` Joe Perches
2014-02-04 16:36 ` Joe Perches
2014-02-04 18:40 ` Arnd Bergmann
2014-02-04 18:40 ` Arnd Bergmann
2014-02-04 18:40 ` Arnd Bergmann
2014-02-04 19:43 ` Joe Perches
2014-02-04 19:43 ` Joe Perches
2014-02-04 19:43 ` Joe Perches
2014-02-05 11:50 ` Russell King - ARM Linux
2014-02-05 11:50 ` Russell King - ARM Linux
2014-02-05 11:50 ` Russell King - ARM Linux
2014-02-05 12:32 ` Joe Perches
2014-02-05 12:32 ` Joe Perches
2014-02-05 12:32 ` Joe Perches
2014-02-05 12:41 ` Russell King - ARM Linux [this message]
2014-02-05 12:41 ` Russell King - ARM Linux
2014-02-05 12:41 ` Russell King - ARM Linux
2014-02-05 13:04 ` Joe Perches
2014-02-05 13:04 ` Joe Perches
2014-02-05 13:04 ` Joe Perches
2014-02-05 13:39 ` Russell King - ARM Linux
2014-02-05 13:39 ` Russell King - ARM Linux
2014-02-05 13:39 ` Russell King - ARM Linux
2014-02-05 14:03 ` Joe Perches
2014-02-05 14:03 ` Joe Perches
2014-02-05 14:03 ` Joe Perches
2014-02-05 14:21 ` Russell King - ARM Linux
2014-02-05 14:21 ` Russell King - ARM Linux
2014-02-05 14:21 ` Russell King - ARM Linux
2014-02-05 15:05 ` Joe Perches
2014-02-05 15:05 ` Joe Perches
2014-02-05 15:05 ` Joe Perches
2014-02-04 3:07 ` [ath9k-devel] [PATCH 2/3] ath9k: Do not support PowerSave by default Sujith Manoharan
2014-02-04 3:07 ` Sujith Manoharan
2014-02-04 3:07 ` [ath9k-devel] [PATCH 3/3] ath9k: Fix TX power calculation Sujith Manoharan
2014-02-04 3:07 ` Sujith Manoharan
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=20140205124127.GP26684@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=ath9k-devel@lists.ath9k.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.