public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
To: 'Keith Owens' <kaos@ocs.com.au>
Cc: 'Ingo Molnar' <mingo@elte.hu>,
	David.Mosberger@acm.org, Andrew Morton <akpm@osdl.org>,
	linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org
Subject: RE: Add prefetch switch stack hook in scheduler function
Date: Fri, 29 Jul 2005 08:02:42 +0000	[thread overview]
Message-ID: <200507290802.j6T82hg08064@unix-os.sc.intel.com> (raw)
In-Reply-To: <10766.1122623142@kao2.melbourne.sgi.com>
In-Reply-To: <200507272207.j6RM7fg18695@unix-os.sc.intel.com>

Keith Owens wrote on Friday, July 29, 2005 12:46 AM
> On Fri, 29 Jul 2005 00:22:43 -0700, 
> "Chen, Kenneth W" <kenneth.w.chen@intel.com> wrote:
> >On ia64, we have two kernel stacks, one for outgoing task, and one for
> >incoming task.  for outgoing task, we haven't called switch_to() yet.
> >So the switch stack structure for 'current' will be allocated immediately
> >below current 'sp' pointer. For the incoming task, it was fully ctx'ed out
> >previously, so switch stack structure is immediate above kernel_stack(next).
> >It Would be beneficial to prefetch both stacks.
> 
> struct switch_stack for current is all write data, no reading is done.
> Is it worth doing prefetchw() for current?

Oh yes, very much so.  L2 is an out of order cache and it can only queue
limited amount of store operations.  With the number of stores for switch
stack structure, it will easily exceed that hardware limit.

> IOW, is there any measurable performance gain?

I don't have exact breakdown to how much contribute from prefetch the outgoing
process versus incoming process.  But I believe both contributes to perf.
gain.

- Ken



  parent reply	other threads:[~2005-07-29  8:02 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-27 22:07 Add prefetch switch stack hook in scheduler function Chen, Kenneth W
2005-07-27 23:13 ` Andrew Morton
2005-07-27 23:23   ` david mosberger
2005-07-28  7:41     ` Ingo Molnar
2005-07-28  8:09 ` Keith Owens
2005-07-28  8:16   ` Ingo Molnar
2005-07-28  9:09     ` Ingo Molnar
2005-07-28  8:31   ` Nick Piggin
2005-07-28  8:35     ` Ingo Molnar
2005-07-28  8:48       ` Nick Piggin
2005-07-28  9:16         ` Ingo Molnar
2005-07-28  9:19           ` Ingo Molnar
2005-07-28  9:34           ` Nick Piggin
2005-07-28 10:04             ` Ingo Molnar
2005-07-28 10:29               ` Nick Piggin
2005-07-28 19:14 ` Chen, Kenneth W
2005-07-29  7:04   ` Ingo Molnar
2005-07-29  7:07     ` Ingo Molnar
2005-07-29  8:30       ` Eric Dumazet
2005-07-29  8:44         ` Ingo Molnar
2005-07-29  9:17       ` Peter Zijlstra
2005-07-29 10:52         ` Ingo Molnar
2005-07-29  7:22 ` Chen, Kenneth W
2005-07-29  8:28   ` Ingo Molnar
2005-07-29  9:02     ` Russell King
2005-07-29  9:45       ` Ingo Molnar
2005-07-29  7:38 ` Keith Owens
2005-07-29  7:45 ` Keith Owens
2005-07-29  8:02 ` Chen, Kenneth W [this message]
2005-07-29  8:08 ` Chen, Kenneth W
2005-07-29  8:30 ` Chen, Kenneth W
2005-07-29  8:35   ` Ingo Molnar
2005-07-29  8:39 ` Chen, Kenneth W

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=200507290802.j6T82hg08064@unix-os.sc.intel.com \
    --to=kenneth.w.chen@intel.com \
    --cc=David.Mosberger@acm.org \
    --cc=akpm@osdl.org \
    --cc=kaos@ocs.com.au \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /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