linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Paul Cameron Davies <pauld@cse.unsw.EDU.AU>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Jes Sorensen <jes@sgi.com>, linux-mm@kvack.org
Subject: Re: [Patch 0/17] PTI: Explation of Clean Page Table Interface
Date: Thu, 1 Jun 2006 13:21:01 +1000 (EST)	[thread overview]
Message-ID: <Pine.LNX.4.62.0606011313350.29379@weill.orchestra.cse.unsw.EDU.AU> (raw)
In-Reply-To: <447CFEAA.5070206@yahoo.com.au>

On Wed, 31 May 2006, Nick Piggin wrote:

> Paul Cameron Davies wrote:
>
>> Hi Jes
>> 
>> I concede that I am acutely aware that 3.5% is just too high,  but we know 
>> which abstractions are causing the problems.
>> 
>> We will hope to nail down some of these problems in the next few weeks
>> and then feed again.
>> 
>> What level of degradation in peformance in acceptable (if any)?
>
>
> For upstream inclusion? negative degradation, I'd assume: you're adding
> significant complexity so there has to be some justification for it...

Our long term goal is upstream inclusion.  We are planning to release
early and release often to get feedback and exposure.  We want to bring
around the people that don't have a vested interest in cleanly accessing
the page tables, and get early input into the direction the interface
should take.

> And unless it is something pretty significant, I'd almost bet that Linus,
> if nobody else, will veto it. Our radix-tree v->p data structure is
> fairly clean, performant, etc. It matches the logical->physical radix
> tree data structure we use for pagecache as well.

Being able to change the page table on a 64 bit machine will
be a huge advantage into the future when applications really start to
make use of the 64 bit address space.  The current trie (multi level
page table - MLPT) is not going to perform against more
sophisticated data structures in a sparsely occupied 64 bit address space
At UNSW we are experimenting with different page tables.  We have
replaced the MLPT in Linux with a GPT (guarded page table), running
on an older kernel. The GPT is essentially an unconstrained radix tree (a
specialed MLPT).

GPTs are naturally suited to page table sharing and the seamless
implementation of Superpages. (please refer to Liedtke's paper,
Address Space Sparsity and fine granularity, ACM Operating Systems
Review, vol 29, pp87-90, January 1995).

We are looking to provide alternate page table options in Linux
to enable Linux to continue to boast about its scalability
as an operating system.  The MLPT is not going to scale from the 32
bit address space to the 64 bit address space.  Unfortunately
some concession may need to be made by some architectures to support this.

> BTW. I reckon your performance problems are due to indirect function
> calls.
Thanks.  This is certainly a large part of the performance problem.
The problem is, thus far it is the most efficient solution I have come up
with.

Cheers

Paul

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2006-06-01  3:21 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-30  7:01 Paul Cameron Davies
2006-05-30  7:59 ` Jes Sorensen
2006-05-30  8:29   ` Peter Chubb
2006-05-30  8:32   ` Paul Cameron Davies
2006-05-30  8:42     ` Jes Sorensen
2006-05-31  1:17       ` Paul Cameron Davies
2006-05-31  2:25         ` Nick Piggin
2006-06-01  3:21           ` Paul Cameron Davies [this message]
2006-06-02  3:10             ` Nick Piggin
2006-05-31  3:24         ` Hugh Dickins
2006-06-01  6:35           ` Paul Cameron Davies

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=Pine.LNX.4.62.0606011313350.29379@weill.orchestra.cse.unsw.EDU.AU \
    --to=pauld@cse.unsw.edu.au \
    --cc=jes@sgi.com \
    --cc=linux-mm@kvack.org \
    --cc=nickpiggin@yahoo.com.au \
    /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