From: "Zuckerman, Boris" <borisz@hp.com>
To: Matthew Wilcox <willy@linux.intel.com>,
"Kirill A. Shutemov" <kirill@shutemov.name>
Cc: "Kani, Toshimitsu" <toshi.kani@hp.com>,
"kirill.shutemov@linux.intel.com"
<kirill.shutemov@linux.intel.com>,
"david@fromorbit.com" <david@fromorbit.com>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: RE: [RFC PATCH] Support map_pages() for DAX
Date: Tue, 18 Mar 2014 13:10:44 +0000 [thread overview]
Message-ID: <4C30833E5CDF444D84D942543DF65BDA625BD721@G4W3303.americas.hpqcorp.net> (raw)
Matthew,
First of all, thank you for doing this job!
Supporting persistent memory for any OS is bit more than adding "just another device".
There are some thoughts and questions below. Perhaps, you discussed those already. If so, please point me to that discussion!
> > Few questions:
> > - why would you need Dirty for DAX?
>
> One of the areas ignored by the original XIP code was CPU caches. Maybe
> s390 has write-through caches or something, but on x86 we need to write back the
> lines from the CPU cache to the memory on an msync(). We'll also need to do this for
> a write(), although that's a SMOP.
>
X86 cache lines are much smaller than a page. Cache lined are flushed "naturally", but we do not know about that.
How many Dirty pages do we anticipate? What is the performance cost of msync()? Is that higher, if we do page-based accounting?
Reasons and frequency of msync():
Atomicity: needs barriers, happens frequently, leaves relatively small number of Dirty pages. Here the cost is probably smaller.
Durability of application updates: issued infrequently, leaves many Dirty pages. The cost could be high, right?
Let's assume that at some point we get CPU/Persistent Memory Controller combinations that support atomicity of multiple updates in hardware. Would you need to mark pages Dirty in such cases? If not, what is the right layer build that support for x86?
--
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>
next reply other threads:[~2014-03-18 13:11 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-18 13:10 Zuckerman, Boris [this message]
2014-03-18 14:00 ` Matthew Wilcox
-- strict thread matches above, loose matches on Subject: below --
2014-03-14 23:03 Toshi Kani
2014-03-14 23:32 ` Kirill A. Shutemov
2014-03-14 23:58 ` Toshi Kani
2014-03-16 2:46 ` Matthew Wilcox
2014-03-17 11:43 ` Kirill A. Shutemov
2014-03-17 14:45 ` Matthew Wilcox
2014-03-17 15:24 ` Amit Golander
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=4C30833E5CDF444D84D942543DF65BDA625BD721@G4W3303.americas.hpqcorp.net \
--to=borisz@hp.com \
--cc=david@fromorbit.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=kirill@shutemov.name \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=toshi.kani@hp.com \
--cc=willy@linux.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