public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Christoph Lameter <clameter@sgi.com>,
	Suresh Siddha <suresh.b.siddha@intel.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@elte.hu>, Andi Kleen <ak@suse.de>,
	Tony Luck <tony.luck@intel.com>,
	Asit Mallick <asit.k.mallick@intel.com>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: What was the problem with quicklists and x86-64?
Date: Thu, 13 Dec 2007 12:54:17 -0800	[thread overview]
Message-ID: <20071213205416.GA15807@linux-os.sc.intel.com> (raw)
In-Reply-To: <47603321.4030700@goop.org>

On Wed, Dec 12, 2007 at 11:14:41AM -0800, Jeremy Fitzhardinge wrote:
> I'm looking at unifying the various pgalloc+pgd_lists mechanisms between
> 32-bit (PAE and non-PAE) and 64-bit, so I'm trying to understand why
> these differences exist in the first place.
> 
> Change da8f153e51290e7438ba7da66234a864e5d3e1c1 reverted the use of
> quicklists for allocating pagetables, because of concerns about ordering
> with respect to tlb flushes.

Main thing to note is, while unmapping linear address space, we should not
free underlying pages, page table pages (for all hierarchies), till we flush
the active TLB caches in all the CPUs.

Violation of this can potentially cause SW failures and hard to debug issues
like
http://www.ussg.iu.edu/hypermail/linux/kernel/0205.2/1254.html

For more info, you can refer 
http://developer.intel.com/design/processor/applnots/317080.pdf

> Some questions about this:
> 
>    1. What's the difference between quicklists and normal page
>       allocation with respect to tlb flushing?

Linus and Christoph went in detail about this.

http://kerneltrap.org/mailarchive/linux-kernel/2007/9/21/271638

There were some preemption and other concerns that Linus mentioned,
and was referring to of integrating quicklists and mmu_gather operations
and not keep them separate.

>    2. Why doesn't this also affect i386's use of quicklists?
>    3. Is there some way to resolve this tlb interaction so that
>       quicklists can be used?
>    4. Failing that, what's the cost of reverting i386's use of
>       quicklists too?

I have to look at i386 code but I don't think it was using quicklists
as extensively as the previous x86_64 code does. Will take a look at it.

thanks,
suresh

      parent reply	other threads:[~2007-12-13 21:01 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-12 19:14 What was the problem with quicklists and x86-64? Jeremy Fitzhardinge
2007-12-13 19:47 ` Christoph Lameter
2007-12-13 20:47   ` Benjamin Herrenschmidt
2007-12-13 20:53     ` Christoph Lameter
2007-12-13 21:03       ` Benjamin Herrenschmidt
2007-12-13 21:33         ` Christoph Lameter
2007-12-13 22:27           ` Benjamin Herrenschmidt
2007-12-13 22:36             ` Christoph Lameter
2007-12-13 23:10               ` Benjamin Herrenschmidt
2007-12-13 23:14                 ` Christoph Lameter
2007-12-13 23:19                   ` Benjamin Herrenschmidt
2007-12-13 22:27   ` Siddha, Suresh B
2007-12-13 22:52     ` Christoph Lameter
2007-12-13 20:54 ` Siddha, Suresh B [this message]

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=20071213205416.GA15807@linux-os.sc.intel.com \
    --to=suresh.b.siddha@intel.com \
    --cc=ak@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=asit.k.mallick@intel.com \
    --cc=clameter@sgi.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tony.luck@intel.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