From: Pavel Machek <pavel@ucw.cz>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jason Wessel <jason.wessel@windriver.com>,
Will Deacon <will.deacon@arm.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
kgdb-bugreport@lists.sourceforge.net, linux-arm@vger.kernel.org,
Russell King - ARM Linux <linux@arm.linux.org.uk>
Subject: Re: [PATCH 4/5] kgdb: Use atomic operators which use barriers
Date: Mon, 5 Apr 2010 11:21:27 +0200 [thread overview]
Message-ID: <20100405092126.GA1419@ucw.cz> (raw)
In-Reply-To: <alpine.LFD.2.00.1004021238270.3634@i5.linux-foundation.org>
Hi!
> > Russell had this thread:
> > http://permalink.gmane.org/gmane.linux.ports.arm.kernel/75717
>
> Russell is wrong.
>
> Yes, originally it was about P4's overheating. But let me repeat: the fact
> is, this _is_ valid kernel code:
>
> kernel/sched.c- while (task_is_waking(p))
> kernel/sched.c: cpu_relax();
And this is valid (but ugly and not optimal) kernel code:
kernel/sched.c- while (task_is_waking(p))
kernel/sched.c: asm volatile("" :: "memory");
> (where that "task_is_waking()" is simply doing two regular reads, and
> expects another CPU to be changing them).
>
> This has _nothing_ to do with memory barriers, or with overheating.
...
> All that matters is that the above kind of while loop must work. The
> architecture needs to do whatever it needs to do to make it work. End of
> discussion. If on ARM6 that means "smp_mb()", then that's an ARM6
> implementation issue.
...so I don't think inserting smp_mb() into cpu_relax() and udelay()
and similar can ever fix the problem fully.
Run smp_mb() from periodic interrupt?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
next prev parent reply other threads:[~2010-04-05 9:21 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-02 18:32 [GIT PULL] kgdb fixes for 2.6.34-rc3 Jason Wessel
2010-04-02 18:32 ` [PATCH 1/5] kgdb: have ebin2mem call probe_kernel_write once Jason Wessel
2010-04-02 18:32 ` [PATCH 2/5] kgdbts,sh: Add in breakpoint pc offset for superh Jason Wessel
2010-04-02 18:32 ` [PATCH 3/5] kgdb: eliminate kgdb_wait(), all cpus enter the same way Jason Wessel
2010-04-02 18:32 ` [PATCH 4/5] kgdb: Use atomic operators which use barriers Jason Wessel
2010-04-02 18:32 ` [PATCH 5/5] kgdb: Turn off tracing while in the debugger Jason Wessel
2010-04-02 19:12 ` [PATCH 4/5] kgdb: Use atomic operators which use barriers Linus Torvalds
2010-04-02 19:37 ` Jason Wessel
2010-04-02 19:43 ` Linus Torvalds
2010-04-02 19:46 ` Linus Torvalds
2010-04-02 20:07 ` Linus Torvalds
2010-04-02 22:25 ` Russell King - ARM Linux
2010-04-02 23:24 ` Linus Torvalds
2010-04-03 16:08 ` Russell King - ARM Linux
2010-04-05 9:21 ` Pavel Machek [this message]
2010-04-05 14:56 ` Linus Torvalds
2010-04-02 19:47 ` [Kgdb-bugreport] [PATCH 4/5] kgdb: Use atomic operators whichuse barriers Jason Wessel
2010-04-02 19:47 ` Linus Torvalds
2010-04-02 20:00 ` Jason Wessel
2010-04-08 16:27 ` Dmitry Adamushko
2010-04-19 15:21 ` Will Deacon
[not found] ` <000501cad70a$26ca7e10$745f7a30$@deacon@arm.com>
2010-04-08 14:55 ` [PATCH 4/5] kgdb: Use atomic operators which use barriers Linus Torvalds
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=20100405092126.GA1419@ucw.cz \
--to=pavel@ucw.cz \
--cc=jason.wessel@windriver.com \
--cc=kgdb-bugreport@lists.sourceforge.net \
--cc=linux-arm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=torvalds@linux-foundation.org \
--cc=will.deacon@arm.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome