[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0dbec206-c157-4482-8fd7-4ccf9c2bdc5a@default>
Date: Mon, 29 Jun 2009 07:34:34 -0700 (PDT)
From: Dan Magenheimer <dan.magenheimer@...cle.com>
To: Pavel Machek <pavel@....cz>
Cc: linux-kernel@...r.kernel.org, xen-devel@...ts.xensource.com,
npiggin@...e.de, chris.mason@...cle.com, kurt.hackel@...cle.com,
dave.mccracken@...cle.com, Avi Kivity <avi@...hat.com>,
jeremy@...p.org, Rik van Riel <riel@...hat.com>,
alan@...rguk.ukuu.org.uk, Rusty Russell <rusty@...tcorp.com.au>,
Martin Schwidefsky <schwidefsky@...ibm.com>, akpm@...l.org,
Marcelo Tosatti <mtosatti@...hat.com>,
Balbir Singh <balbir@...ux.vnet.ibm.com>,
tmem-devel@....oracle.com, sunil.mushran@...cle.com,
linux-mm@...ck.org, Himanshu Raj <rhim@...rosoft.com>
Subject: RE: [RFC] transcendent memory for Linux
Hi Pavel --
Thanks for the feedback!
> This description (whole mail) needs to go into
> Documentation/, somewhere.
Good idea. I'll do that for the next time I post the patches.
> > Normal memory is directly addressable by the kernel,
> > of a known normally-fixed size, synchronously accessible,
> > and persistent (though not across a reboot).
> ...
> > Transcendent memory, or "tmem" for short, provides a
> > well-defined API to access this unusual class of memory.
> > The basic operations are page-copy-based and use a flexible
> > object-oriented addressing mechanism. Tmem assumes
>
> Should this API be documented, somewhere? Is it in-kernel API or does
> userland see it?
It is documented currently at:
http://oss.oracle.com/projects/tmem/documentation/api/
(just noticed I still haven't posted version 0.0.2 which
has a few minor changes).
I will add a briefer description of this API in Documentation/
It is in-kernel only because some of the operations have
a parameter that is a physical page frame number.
> > "Preswap" IS persistent, but for various reasons may not always
> > be available for use, again due to factors that may not be
> > visible to the kernel (but, briefly, if the kernel is being
> > "good" and has shared its resources nicely, then it will be
> > able to use preswap, else it will not). Once a page is put,
> > a get on the page will always succeed. So when the kernel
> > finds itself in a situation where it needs to swap out a page,
> > it first attempts to use preswap. If the put works, a disk
> > write and (usually) a disk read are avoided. If it doesn't,
> > the page is written to swap as usual. Unlike precache, whether
>
> Ok, how much slower this gets in the worst case? Single hypercall to
> find out that preswap is unavailable? I guess that compared to disk
> access that's lost in the noise?
Yes, the overhead of one hypercall per swap page is lost in
the noise.
Dan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists