public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Alexander van Heukelum" <heukelum@fastmail.fm>
To: "Cyrill Gorcunov" <gorcunov@gmail.com>, "Ingo Molnar" <mingo@elte.hu>
Cc: "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>,
	"Jeremy Fitzhardinge" <jeremy@goop.org>,
	"Andi Kleen" <andi@firstfloor.org>
Subject: Re: [PATCH RFC/RFB] x86_64, i386: interrupt dispatch changes
Date: Tue, 04 Nov 2008 18:29:25 +0100	[thread overview]
Message-ID: <1225819765.13069.1282952549@webmail.messagingengine.com> (raw)
In-Reply-To: <20081104171346.GF21470@localhost>


On Tue, 4 Nov 2008 20:13:46 +0300, "Cyrill Gorcunov"
<gorcunov@gmail.com> said:
> [Ingo Molnar - Tue, Nov 04, 2008 at 05:58:11PM +0100]
> | 
> | * Cyrill Gorcunov <gorcunov@gmail.com> wrote:
> | 
> | > [Alexander van Heukelum - Tue, Nov 04, 2008 at 05:23:09PM +0100]
> | > ...
> | > | 
> | > | I did some timings using the little program below (32-bit only),
> doing
> | > | 1024 times the same sequence. TEST1 is just pushing a constant onto
> | > | the stack; TEST2 is pushing the cs register; TEST3 is the sequence
> | > | from the patch to extract the vector number from the cs register.
> | > | 
> | > | Opteron    (cycles): 1024 / 1157 / 3527
> | > | Xeon E5345 (cycles): 1092 / 1085 / 6622
> | > | Athlon XP  (cycles): 1028 / 1166 / 5192
> | > 
> | > Xeon is defenitely out of luck :-)
> | 
> | it's still OK - i.e. no outrageous showstopper overhead anywhere in 
> | that instruction sequence. The total round-trip overhead is what will 
> | matter most.
> | 
> | 	Ingo
> | 
> 
> Don't get me wrong please, I really like what Alexander have done!
> But frankly six time slower is a bit scarying me.

Thanks again ;). Now it _is_ six times slower to do this tiny
piece of code... But please keep in mind all the activity that
follows to save the current data segment registers (the stack
segment and code segment are saved automatically), the general
purpose registers and to load most of the data segments with
kernel-space values. And looking at it now... do_IRQ is also
not exactly trivial.

Also, I kept the information that is saved on the stack
exactly the same. If this is not a requirement, "push %cs"
is what is left of this expensive (6 cycle!) sequence.
Even that could be unnecessary if the stack layout can
be changed... But I'ld like to consider that separately.

Greetings,
    Alexander

> 		- Cyrill -
-- 
  Alexander van Heukelum
  heukelum@fastmail.fm

-- 
http://www.fastmail.fm - A no graphics, no pop-ups email service


  reply	other threads:[~2008-11-04 17:29 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 [this message]
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
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=1225819765.13069.1282952549@webmail.messagingengine.com \
    --to=heukelum@fastmail.fm \
    --cc=andi@firstfloor.org \
    --cc=gorcunov@gmail.com \
    --cc=heukelum@mailshack.com \
    --cc=hpa@zytor.com \
    --cc=jeremy@goop.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox