From: Andi Kleen <andi@firstfloor.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Alexander van Heukelum <heukelum@fastmail.fm>,
Andi Kleen <andi@firstfloor.org>,
Cyrill Gorcunov <gorcunov@gmail.com>,
Alexander van Heukelum <heukelum@mailshack.com>,
LKML <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
lguest@ozlabs.org, jeremy@xensource.com,
Steven Rostedt <srostedt@redhat.com>,
Mike Travis <travis@sgi.com>
Subject: Re: [PATCH RFC/RFB] x86_64, i386: interrupt dispatch changes
Date: Tue, 4 Nov 2008 22:06:43 +0100 [thread overview]
Message-ID: <20081104210643.GH29626@one.firstfloor.org> (raw)
In-Reply-To: <20081104204400.GC10825@elte.hu>
On Tue, Nov 04, 2008 at 09:44:00PM +0100, Ingo Molnar wrote:
>
> * Alexander van Heukelum <heukelum@fastmail.fm> wrote:
>
> > On Tue, 4 Nov 2008 18:05:01 +0100, "Andi Kleen" <andi@firstfloor.org>
> > said:
> > > > not taking into account the cost of cs reading (which I
> > > > don't suspect to be that expensive apart from writting,
> > >
> > > GDT accesses have an implied LOCK prefix. Especially
> > > on some older CPUs that could be slow.
> > >
> > > I don't know if it's a problem or not but it would need
> > > some careful benchmarking on different systems to make sure interrupt
> > > latencies are not impacted.
>
> That's not a real issue on anything produced in this decade as we have
> had per CPU GDTs in Linux for about a decade as well.
>
> It's only an issue on ancient CPUs that export all their LOCKed cycles
> to the bus. Pentium and older or so. The PPro got it right already.
??? LOCK slowness is not because of the bus. And I know you know
that Ingo, so I don't know why you wrote that bogosity above.
> What matters is what i said before: the actual raw cycle count before
> and after the patch, on the two main classes of CPUs, and the amount
iirc there are at least between three and five classes of CPUs that
matter (P6, K8, P4 and possibly Atom and C3). But I would only
expect P4 to be a real problem.
> > That's good to know. I assume this LOCKed bus cycle only occurs if
> > the (hidden) segment information is not cached in some way? How many
> > segments are typically cached? In particular, does it optimize
> > switching between two segments?
> >
> > > Another reason I would be also careful with this patch is that it
> > > will likely trigger slow paths in JITs like qemu/vmware/etc.
> >
> > Software can be fixed ;).
>
> Yes, and things like vmware were never a reason to hinder Linux.
Hopefully the users agree with you on that.
But anyways having to fix the JIT for saving 3-5k of memory would seem
like a bad payoff in terms of effort:gain. Yes I know you personally
wouldn't need to fix them, but wasting other engineer's time is nearly
as bad as your own.
> > > An alternative BTW to having all the stubs in the executable would
> > > be to just dynamically generate them when the interrupt is set up.
> > > Then you would only have the stubs around for the interrupts which
> > > are actually used.
> >
> > I was trying to simplify things, not make it even less transparent
> > ;).
Doesn't make sense to me. The current code is not complex at all,
just not particularly efficient. Yours might be better (at some
risk), but simpler is probably not the right word to describe it.
>
> yep, the complexity of dynamic stubs is the last thing we need here.
I don't think it's particularly complex. You just have a few bytes
and you fill in the number and the target.
-Andi
next prev parent reply other threads:[~2008-11-04 20:58 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-04 12:28 [PATCH RFC/RFB] x86_64, i386: interrupt dispatch changes Alexander van Heukelum
2008-11-04 12:42 ` Ingo Molnar
2008-11-04 13:29 ` Alexander van Heukelum
2008-11-04 14:00 ` Ingo Molnar
2008-11-04 16:23 ` Alexander van Heukelum
2008-11-04 16:47 ` Cyrill Gorcunov
2008-11-04 16:58 ` Ingo Molnar
2008-11-04 17:13 ` Cyrill Gorcunov
2008-11-04 17:29 ` Alexander van Heukelum
2008-11-06 9:19 ` Ingo Molnar
2008-11-04 20:02 ` Jeremy Fitzhardinge
2008-11-04 20:15 ` H. Peter Anvin
2008-11-04 20:02 ` Jeremy Fitzhardinge
2008-11-04 15:07 ` Cyrill Gorcunov
2008-11-04 15:47 ` Alexander van Heukelum
2008-11-04 16:36 ` Ingo Molnar
2008-11-04 16:45 ` Alexander van Heukelum
2008-11-04 16:54 ` Ingo Molnar
2008-11-04 16:55 ` Ingo Molnar
2008-11-04 16:58 ` Alexander van Heukelum
2008-11-04 17:39 ` Alexander van Heukelum
2008-11-04 17:05 ` Andi Kleen
2008-11-04 18:06 ` Alexander van Heukelum
2008-11-04 18:14 ` H. Peter Anvin
2008-11-04 18:44 ` Alexander van Heukelum
2008-11-04 19:07 ` H. Peter Anvin
2008-11-04 19:33 ` H. Peter Anvin
2008-11-04 20:06 ` Jeremy Fitzhardinge
2008-11-04 20:30 ` Andi Kleen
2008-11-04 20:26 ` H. Peter Anvin
2008-11-04 20:46 ` Andi Kleen
2008-11-04 20:44 ` Ingo Molnar
2008-11-04 21:06 ` Andi Kleen [this message]
2008-11-05 0:42 ` Jeremy Fitzhardinge
2008-11-05 0:50 ` H. Peter Anvin
2008-11-06 9:15 ` Ingo Molnar
2008-11-06 9:25 ` H. Peter Anvin
2008-11-06 9:30 ` Ingo Molnar
2008-11-05 10:26 ` Ingo Molnar
2008-11-14 1:11 ` Nick Piggin
2008-11-14 1:20 ` H. Peter Anvin
2008-11-14 2:12 ` Nick Piggin
2008-11-04 21:29 ` Ingo Molnar
2008-11-04 21:35 ` H. Peter Anvin
2008-11-04 21:52 ` Ingo Molnar
2008-11-05 17:53 ` Cyrill Gorcunov
2008-11-05 18:04 ` H. Peter Anvin
2008-11-05 18:14 ` Cyrill Gorcunov
2008-11-05 18:20 ` H. Peter Anvin
2008-11-05 18:26 ` Cyrill Gorcunov
[not found] ` <1226243805.27361.1283784629@webmail.messagingengine.com>
2008-11-10 1:29 ` H. Peter Anvin
2008-11-26 21:35 ` [Lguest] " Avi Kivity
2008-11-26 21:50 ` Avi Kivity
2008-11-27 0:03 ` H. Peter Anvin
2008-11-27 10:13 ` Avi Kivity
2008-11-27 10:56 ` Andi Kleen
2008-11-27 10:59 ` Avi Kivity
2008-11-28 20:48 ` Alexander van Heukelum
2008-11-29 15:45 ` Alexander van Heukelum
2008-11-29 18:21 ` Avi Kivity
2008-11-29 18:22 ` Avi Kivity
2008-11-29 19:58 ` Ingo Molnar
2008-12-01 4:32 ` Rusty Russell
2008-12-01 8:00 ` Ingo Molnar
2008-12-01 9:24 ` Avi Kivity
2008-12-01 10:32 ` Cyrill Gorcunov
2008-12-01 10:41 ` Avi Kivity
2008-12-01 10:49 ` Ingo Molnar
2008-11-10 8:58 ` Ingo Molnar
2008-11-10 12:44 ` Alexander van Heukelum
2008-11-10 13:07 ` Ingo Molnar
2008-11-10 21:35 ` Alexander van Heukelum
2008-11-10 22:21 ` H. Peter Anvin
2008-11-11 5:00 ` H. Peter Anvin
2008-11-13 22:23 ` Matt Mackall
2008-11-14 1:18 ` H. Peter Anvin
2008-11-14 2:29 ` Matt Mackall
2008-11-14 3:22 ` H. Peter Anvin
2008-11-11 9:54 ` Ingo Molnar
2008-11-10 15:39 ` H. Peter Anvin
2008-11-10 21:44 ` Alexander van Heukelum
2008-11-10 23:34 ` H. Peter Anvin
2008-11-05 18:15 ` Cyrill Gorcunov
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=20081104210643.GH29626@one.firstfloor.org \
--to=andi@firstfloor.org \
--cc=gorcunov@gmail.com \
--cc=heukelum@fastmail.fm \
--cc=heukelum@mailshack.com \
--cc=hpa@zytor.com \
--cc=jeremy@xensource.com \
--cc=lguest@ozlabs.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=srostedt@redhat.com \
--cc=tglx@linutronix.de \
--cc=travis@sgi.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 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.