From: bob <bob@watson.ibm.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: bob <bob@watson.ibm.com>, Karim Yaghmour <karim@opersys.com>,
<okrieg@us.ibm.com>, <trz@us.ibm.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
LTT-Dev <ltt-dev@shafik.org>,
Linus Torvalds <torvalds@transmeta.com>
Subject: Re: [ltt-dev] Re: [PATCH] LTT for 2.5.38 1/9: Core infrastructure
Date: Sun, 22 Sep 2002 18:52:19 -0400 (EDT) [thread overview]
Message-ID: <15758.18582.488305.152950@k42.watson.ibm.com> (raw)
In-Reply-To: <Pine.LNX.4.44.0209230052580.28641-100000@localhost.localdomain>
Ingo Molnar writes:
>
> On Sun, 22 Sep 2002, bob wrote:
>
> > > (this is in essence a moving spinlock at the tail of the trace buffer -
> > > same problem.)
> >
> > No, we use lock-free atomic operations to reserve a place in the buffer
> > to write the data. What happens is you attempt to atomic move the
> > current index pointer forward. If you succeed then you have bought
> > yourself that many data words in the queue. In the unlikely event you
> > happened to collide with someone you perform the atomic operation again.
>
> you have not understood what i have written.
>
> what you do has the same (bad) effect as a global spinlock, it in essence
> has the same cache effect as a constantly moving spinlock at the 'end' of
> the trace buffer. Cachelines bounce between CPUs. Only completely per-CPU
> trace buffers solve this problem.
As per previous email, we are moving to a per-CPU scheme. On a technical
note: a cache-line ping-ponging is bad - a global spinlock is horrendous.
They're different - the lock-less MP scheme gets rid of them both.
> - do not disable interrupts when writing events. I used this method in
> a tracer and it works well. Just get an irq-safe index to the trace
> ring-buffer and fill it in. [eg. on x86 incl can be used for this
> purpose.]
The lock-less scheme does not disable interrupts - we've eliminated that.
Robert Wisniewski
The K42 MP OS Project
Advanced Operating Systems
Scalable Parallel Systems
IBM T.J. Watson Research Center
914-945-3181
http://www.research.ibm.com/K42/
bob@watson.ibm.com
next prev parent reply other threads:[~2002-09-22 22:47 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-22 5:43 [PATCH] LTT for 2.5.38 1/9: Core infrastructure Karim Yaghmour
2002-09-22 10:42 ` Ingo Molnar
2002-09-22 10:50 ` Ingo Molnar
2002-09-22 17:26 ` Roman Zippel
2002-09-22 18:35 ` Linus Torvalds
2002-09-22 19:18 ` Karim Yaghmour
2002-09-22 19:40 ` Ingo Molnar
2002-09-22 22:09 ` Karim Yaghmour
2002-09-22 22:24 ` Ingo Molnar
2002-09-22 22:41 ` Karim Yaghmour
2002-09-22 22:59 ` Ingo Molnar
2002-09-22 22:50 ` Ingo Molnar
2002-09-22 23:32 ` Karim Yaghmour
2002-09-23 7:41 ` Ingo Molnar
2002-09-23 15:12 ` Karim Yaghmour
2002-09-23 20:11 ` Andreas Ferber
2002-09-23 23:31 ` Karim Yaghmour
2002-09-22 21:29 ` [ltt-dev] " bob
2002-09-22 19:06 ` Karim Yaghmour
2002-09-22 19:33 ` Karim Yaghmour
2002-09-22 21:20 ` [ltt-dev] " bob
2002-09-22 21:39 ` Ingo Molnar
2002-09-22 22:37 ` bob
2002-09-22 22:55 ` Ingo Molnar
2002-09-22 22:52 ` bob [this message]
2002-09-22 23:02 ` Ingo Molnar
2002-09-22 23:03 ` bob
2002-09-22 23:19 ` Ingo Molnar
2002-09-22 23:50 ` bob
2002-09-22 23:32 ` Ingo Molnar
2002-09-23 0:07 ` bob
2002-09-23 7:27 ` Ingo Molnar
2002-09-23 13:59 ` bob
2002-09-23 0:08 ` Karim Yaghmour
2002-09-22 22:58 ` Karim Yaghmour
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=15758.18582.488305.152950@k42.watson.ibm.com \
--to=bob@watson.ibm.com \
--cc=karim@opersys.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ltt-dev@shafik.org \
--cc=mingo@elte.hu \
--cc=okrieg@us.ibm.com \
--cc=torvalds@transmeta.com \
--cc=trz@us.ibm.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).