From: Roger Larsson <roger.larsson@norran.net>
To: root@chaos.analogic.com
Cc: Linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: SMP spin-locks
Date: Thu, 14 Jun 2001 23:30:58 +0200 [thread overview]
Message-ID: <200106142134.f5ELYGA19032@maild.telia.com> (raw)
In-Reply-To: <Pine.LNX.3.95.1010614165153.16430A-100000@chaos.analogic.com>
In-Reply-To: <Pine.LNX.3.95.1010614165153.16430A-100000@chaos.analogic.com>
On Thursday 14 June 2001 23:05, you wrote:
> On Thu, 14 Jun 2001, Roger Larsson wrote:
> > Hi,
> >
> > Wait a minute...
> >
> > Spinlocks on a embedded system? Is it _really_ SMP?
>
> The embedded system is not SMP. However, there is definite
> advantage to using an unmodified kernel that may/may-not
> have been compiled for SMP. Of course spin-locks are used
> to prevent interrupts from screwing up buffer pointers, etc.
>
Not really - it prevents another processor entering the same code
segment (spin_lock_irqsave prevents both another processor and
local interrupts).
An interrupt on UP can not wait on a spin lock - it will never be released
since no other code than the interrupt spinning will be able to execute)
> > What kind of performance problem do you have?
>
> The problem is that a data acquisition board across the PCI bus
> gives a data transfer rate of 10 to 11 megabytes per second
> with a UP kernel, and the transfer drops to 5-6 megabytes per
> second with a SMP kernel. The ISR is really simple and copies
> data, that's all.
>
> The 'read()' routine uses a spinlock when it modifies pointers.
>
> I started to look into where all the CPU clocks were going. The
> SMP spinlock code is where it's going. There is often contention
> for the lock because interrupts normally occur at 50 to 60 kHz.
>
SMP compiled kernel, but running on UP hardware - right?
Then this _should not_ happen!
see linux/Documentation/spinlocks.txt
Is it your spinlocks that are causing this, or?
> When there is contention, a very long........jump occurs into
> the test.lock segment. I think this is flushing queues.
>
It does not matter, if there is contention - let it take time. Waiting is what
spinlocking is about anyway...
/RogerL
--
Roger Larsson
Skellefteå
Sweden
next prev parent reply other threads:[~2001-06-14 21:34 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-06-14 17:26 SMP spin-locks Richard B. Johnson
2001-06-14 17:32 ` David S. Miller
2001-06-14 17:35 ` Kurt Garloff
2001-06-15 6:51 ` Doug Ledford
2001-06-14 20:42 ` Roger Larsson
2001-06-14 21:05 ` Richard B. Johnson
2001-06-14 21:30 ` Roger Larsson [this message]
2001-06-15 3:21 ` Richard B. Johnson
2001-06-15 2:33 ` David Lang
2001-06-15 10:35 ` David Schwartz
2001-06-15 13:26 ` Richard B. Johnson
2001-06-15 12:10 ` Ingo Oeser
2001-06-15 12:49 ` Richard B. Johnson
2001-06-15 15:52 ` Pavel Machek
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=200106142134.f5ELYGA19032@maild.telia.com \
--to=roger.larsson@norran.net \
--cc=linux-kernel@vger.kernel.org \
--cc=root@chaos.analogic.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;
as well as URLs for NNTP newsgroup(s).