From: slash.tmp@free.fr (Mason)
To: linux-arm-kernel@lists.infradead.org
Subject: schedule_timeout sleeps too long after dividing CPU frequency
Date: Thu, 21 May 2015 11:56:20 +0200 [thread overview]
Message-ID: <555DABC4.2000407@free.fr> (raw)
In-Reply-To: <20150520231443.GB2067@n2100.arm.linux.org.uk>
On 21/05/2015 01:14, Russell King - ARM Linux wrote:
Do you ever sleep? :-)
> On Wed, May 20, 2015 at 11:56:31PM +0200, Mason wrote:
>
>> Russell, when you added the FEAT_C3STOP flag unconditionally in
>> commit 5388a6b266, didn't that potentially break platforms that
>> didn't expect the flag to be set?
>
> Why would it break any platforms at the time it was merged?
>
> You're only having problems because you don't provide a global timer
> to the kernel, which the C3STOP feature does require - and that's
> because your platform appears to be very limited in what it can
> provide.
For the record, I don't think it is the platform that is limited;
it is my understanding of Linux internals and interrupt management
that is insufficient. (I'm working on it.)
AFAICT, most of the Linux know-how is not explicitly spelled out in
Documentation, it's often bits-and-pieces hidden in long ML threads.
(Sites like LWN are a blessing for grunts like me. I await eagerly
the release of LDD4.)
> All other platforms at the time provided a global timer, so the
> scenario you're facing never existed.
Sorry, my limitations are showing... Take mach-ux500 for example.
Did it provide a global timer at the time?
$ git checkout 5388a6b266
$ git grep clock.*event arch/arm/mach-ux500
arch/arm/mach-ux500/localtimer.c: * Setup the local clock events for a CPU.
arch/arm/mach-ux500/localtimer.c:void __cpuinit local_timer_setup(struct clock_event_device *evt)
> Maybe you also should read the discussion around this which is over 5
> years old. You can find some initial discussion via these message IDs:
>
> alpine.LFD.2.00.1004171152080.3625 at localhost.localdomain
> And the thread "SMP Local timer and power management" from May 2010.
I downloaded gmane's NNTP archive for linux-arm-kernel (415000 message),
going back to 2002.
$ grep alpine.LFD.2.00.1004171152080.3625@ gmane.linux.ports.arm.kernel.msf
$ grep -i "SMP Local timer and power management" gmane.linux.ports.arm.kernel.msf
No hits using gmane's search interface either.
> Yes, making it conditional depending on the platform was mooted, but
> it seemed unnecessary. The fact that no one until now has had a
> problem with it is testament to the approach being correct for the
> hardware that was in use over the last five years. No bug reports
> means no problem.
I agree with this pragmatic stance.
Regards.
next prev parent reply other threads:[~2015-05-21 9:56 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-12 14:32 schedule_timeout sleeps too long after dividing CPU frequency Mason
2015-05-12 14:32 ` Mason
2015-05-12 14:46 ` Viresh Kumar
2015-05-12 14:46 ` Viresh Kumar
2015-05-12 15:14 ` Mason
2015-05-12 15:14 ` Mason
2015-05-12 15:50 ` Russell King - ARM Linux
2015-05-12 15:50 ` Russell King - ARM Linux
2015-05-12 16:14 ` Mason
2015-05-12 16:14 ` Mason
2015-05-13 16:51 ` Mason
2015-05-13 16:51 ` Mason
2015-05-14 2:13 ` Viresh Kumar
2015-05-14 2:13 ` Viresh Kumar
2015-05-14 11:22 ` Mason
2015-05-14 11:22 ` Mason
2015-05-14 11:54 ` Viresh Kumar
2015-05-14 11:54 ` Viresh Kumar
2015-05-14 13:06 ` Mason
2015-05-14 13:06 ` Mason
2015-05-14 13:53 ` Russell King - ARM Linux
2015-05-14 13:53 ` Russell King - ARM Linux
2015-05-14 14:51 ` Mason
2015-05-14 14:51 ` Mason
2015-05-14 13:59 ` Viresh Kumar
2015-05-14 13:59 ` Viresh Kumar
2015-05-14 13:59 ` Viresh Kumar
2015-05-14 14:38 ` Viresh Kumar
2015-05-14 14:38 ` Viresh Kumar
2015-05-14 14:42 ` Russell King - ARM Linux
2015-05-14 14:42 ` Russell King - ARM Linux
2015-05-15 9:29 ` Mason
2015-05-15 9:29 ` Mason
2015-05-15 9:51 ` Russell King - ARM Linux
2015-05-15 9:51 ` Russell King - ARM Linux
2015-05-15 10:01 ` Viresh Kumar
2015-05-15 10:01 ` Viresh Kumar
2015-05-15 10:36 ` Mason
2015-05-15 10:36 ` Mason
2015-05-15 11:58 ` Russell King - ARM Linux
2015-05-15 11:58 ` Russell King - ARM Linux
2015-05-15 12:45 ` Mason
2015-05-15 12:45 ` Mason
2015-05-15 13:15 ` Russell King - ARM Linux
2015-05-15 13:15 ` Russell King - ARM Linux
2015-05-15 13:58 ` Mason
2015-05-15 18:35 ` Mason
2015-05-18 11:24 ` Mason
2015-05-18 11:54 ` Russell King - ARM Linux
2015-05-20 16:21 ` Mason
2015-05-20 18:50 ` Arnd Bergmann
2015-05-20 19:34 ` Mason
2015-05-20 20:14 ` Russell King - ARM Linux
2015-05-20 20:41 ` Mason
2015-05-20 20:52 ` Arnd Bergmann
2015-05-20 21:56 ` Mason
2015-05-20 22:18 ` Arnd Bergmann
2015-05-21 12:35 ` Mason
2015-05-20 23:14 ` Russell King - ARM Linux
2015-05-21 9:56 ` Mason [this message]
2015-05-21 10:20 ` Russell King - ARM Linux
2015-05-14 14:48 ` Mason
2015-05-14 14:48 ` Mason
2015-05-15 4:16 ` Viresh Kumar
2015-05-15 4:16 ` Viresh Kumar
2015-05-15 5:07 ` Viresh Kumar
2015-05-15 5:07 ` Viresh Kumar
2015-05-15 9:00 ` Russell King - ARM Linux
2015-05-15 9:00 ` Russell King - ARM Linux
2015-05-15 9:21 ` Mason
2015-05-15 9:21 ` Mason
2015-05-15 10:11 ` Mason
2015-05-15 10:11 ` Mason
2015-05-12 15:23 ` Russell King - ARM Linux
2015-05-12 15:23 ` Russell King - ARM Linux
2015-05-12 16:03 ` Mason
2015-05-12 16:03 ` Mason
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=555DABC4.2000407@free.fr \
--to=slash.tmp@free.fr \
--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.