From: Daniel Hellstrom <daniel@gaisler.com>
To: sparclinux@vger.kernel.org
Subject: LEON SMP
Date: Tue, 26 Oct 2010 17:50:36 +0000 [thread overview]
Message-ID: <4CC714EC.2050001@gaisler.com> (raw)
Thanks for applying the patch.
I don't know if I have introduced myself before.. I'm working at
Aeroflex Gaisler as a software engineer on the LEON{2,3,4} architectures.
I saw the discussion about LEON previously on the list, and I feel that
I should say something short about LEON and SMP. We are of course very
thankfull for being in the Linux kernel tree.
There are multiple multi-core designs of LEON in FPGAs and ASICs. For
example the dual-core LEON4 200MHz eAsic that Sam mentioned, and a new
chip GR712 is being tested at the fab as we speak. More chips are in the
design phase. The LEON4 architecture was released earlier this year, it
is aiming more on SMP than the LEON3, even though the LEON3 can do SMP
as well. The LEON4 has for example L2 cache and wider buses. Of course
all LEONs are SPARCv8 compatible.
I have been working with a new quad-core LEON4 design since
mid-september, we have made some changes to the LEON port of Linux port
which we would like to submit. Some of them are not in a clean state
yet, so there are some work still before I will try to post them here.
Now to the question...
The LEON do not have internal timers as some CPUs does, it has
one/multiple General Purpose TIMERs on the Processor Local Bus. On
single-CPU/SMP systems the first Timer is used for System Clock, and on
SMP systems timer two is also used to generate a simultaneous IRQ on all
CPUs for profiling etc. (leon_percpu_timer_interrupt()). On the
quad-core SMP system I discovered that since the per-cpu timer is
generated at the same frequency (and almost simultaneously) as the
System Clock Timer. I have made a patch that uses only one Timer for SMP
systems, the Timer generates a per-cpu tick as before, however on CPU0
the handler_irq() is also called after profiling has been done, this is
to handle the System Clock Tick. I seems to work successfully, and it
saves me HZ interrupts per second and a Timer instance. What is you
opinion about that? Is it possible to use the same timer for System
Clock and for per-cpu profiling etc.?
Best Regards,
Daniel Hellstrom
next reply other threads:[~2010-10-26 17:50 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-26 17:50 Daniel Hellstrom [this message]
2010-10-26 17:54 ` LEON SMP David Miller
2010-10-26 18:11 ` Daniel Hellstrom
2011-01-05 10:20 ` Daniel Hellstrom
2011-01-05 10:48 ` Sam Ravnborg
2011-01-05 11:19 ` Daniel Hellstrom
2011-01-05 21:27 ` David Miller
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=4CC714EC.2050001@gaisler.com \
--to=daniel@gaisler.com \
--cc=sparclinux@vger.kernel.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.