linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Howard Chu <hyc@symas.com>
To: Dave Chinner <david@fromorbit.com>
Cc: Andy Lutomirski <luto@amacapital.net>,
	Linux FS Devel <linux-fsdevel@vger.kernel.org>,
	lsf-pc@lists.linux-foundation.org,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: [Lsf-pc] [LSF/MM TOPIC] [ATTEND] Persistent memory
Date: Tue, 21 Jan 2014 05:57:14 -0800	[thread overview]
Message-ID: <52DE7CBA.8020206@symas.com> (raw)
In-Reply-To: <20140121111727.GB13997@dastard>

Dave Chinner wrote:
> On Mon, Jan 20, 2014 at 11:38:16PM -0800, Howard Chu wrote:
>> Andy Lutomirski wrote:
>>> On 01/16/2014 08:17 PM, Howard Chu wrote:
>>>> Andy Lutomirski wrote:
>>>>> I'm interested in a persistent memory track.  There seems to be plenty
>>>>> of other emails about this, but here's my take:
>>>>
>>>> I'm also interested in this track. I'm not up on FS development these
>>>> days, the last time I wrote filesystem code was nearly 20 years ago. But
>>>> persistent memory is a topic near and dear to my heart, and of great
>>>> relevance to my current pet project, the LMDB memory-mapped database.
>>>>
>>>> In a previous era I also developed block device drivers for
>>>> battery-backed external DRAM disks. (My ideal would have been systems
>>>> where all of RAM was persistent. I suppose we can just about get there
>>>> with mobile phones and tablets these days.)
>>>>
>>>> In the context of database engines, I'm interested in leveraging
>>>> persistent memory for write-back caching and how user level code can be
>>>> made aware of it. (If all your cache is persistent and guaranteed to
>>>> eventually reach stable store then you never need to fsync() a
>>>> transaction.)
>
> I don't think that is true -  your still going to need fsync to get
> the CPU to flush it's caches and filesystem metadata into the
> persistent domain....
>
>>> Hmm.  Presumably that would work by actually allocating cache pages in
>>> persistent memory.  I don't think that anything like the current XIP
>>> interfaces can do that, but it's certainly an interesting thought for
>>> (complicated) future work.
>>>
>>> This might not be pretty in conjunction with something like my
>>> writethrough mapping idea -- read(2) and write(2) would be fine (well,
>>> write(2) might need to use streaming loads), but mmap users who weren't
>>> expecting it might have truly awful performance.  That especially
>>> includes things like databases that aren't expecting this behavior.
>>
>> At the moment all I can suggest is a new mmap() flag, e.g.
>> MAP_PERSISTENT. Not sure how a user or app should discover that it's
>> supported though.
>
> The point of using the XIP interface with filesystems that are
> backed by persistent memory is that mmap() gives userspace
> applications direct acess to the persistent memory directly without
> needing any modifications.  It's just a really, really fast file...

OK, I see that now. But that only works well when your persistent memory size 
is >= the size of the file(s) you want to work with.

If you use persistent memory for the page cache, then you can use it with any 
filesystem of any arbitrary size.

-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/

--
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:[~2014-01-21 13:57 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-17  0:56 Andy Lutomirski
2014-01-17  4:17 ` Howard Chu
2014-01-17 19:22   ` Andy Lutomirski
2014-01-21  7:38     ` Howard Chu
2014-01-21 11:17       ` [Lsf-pc] " Dave Chinner
2014-01-21 13:57         ` Howard Chu [this message]
2014-01-21 20:20           ` Dave Chinner
2014-01-21 16:48         ` Andy Lutomirski
2014-01-21 20:36           ` Dave Chinner
2014-01-21 20:59             ` Andy Lutomirski
2014-01-21 23:03               ` Dave Chinner
2014-01-21 23:22                 ` Andy Lutomirski
2014-01-22  8:13                 ` Howard Chu
2014-01-23 19:54                   ` Andy Lutomirski

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=52DE7CBA.8020206@symas.com \
    --to=hyc@symas.com \
    --cc=david@fromorbit.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    --cc=luto@amacapital.net \
    /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