From: Carsten Otte <cotte@de.ibm.com>
To: Jared Hulbert <jaredeh@gmail.com>
Cc: carsteno@de.ibm.com, Nick Piggin <nickpiggin@yahoo.com.au>,
Andrew Morton <akpm@linux-foundation.org>,
richard.griffiths@windriver.com,
Richard Griffiths <res07ml0@verizon.net>,
Linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2.6.21] cramfs: add cramfs Linear XIP
Date: Thu, 14 Jun 2007 15:57:46 +0200 [thread overview]
Message-ID: <4671495A.3020605@de.ibm.com> (raw)
In-Reply-To: <6934efce0706121711m738bd9abqa02350ccc7eabf9f@mail.gmail.com>
Jared Hulbert wrote:
>> Nick Piggin wrote:
>> > The question is, why is that not enough (I haven't looked at these
>> > patches enough to work out if there is anything more they provide).
>> I think, it just takes trying things out. From reading the code, I
>> think this should work well for the filemap_xip code with no struct page.
>> Also, we need eliminate nopage() to get rid of the struct page.
>> Unfortunately I don't find time to try this out for now, and on 390 we
>> can live with struct page for the time being. In contrast to the
>> embedded platforms, the mem_mep array gets swapped out to disk by our
>> hypervisor.
>
> Can you help me understand the comment about nopage()? Do you mean
> set xip_file_vm_ops.nopage to NULL?
Yes, but not without replacement. Today, the page table entry for xip
mappings is created like this:
__handle_mm_fault calls handle_pte_fault, which calls do_no_page [all
in mm/memory.c]. do_no_page does call the ->nopage operation, and
creates a page table entry. The ->nopage operation is set to
xip_file_nopage() [mm/filemap_xip.c], which calls the get_xip_page
address space operation. For ext2, this is implemented in
ext2_get_xip_page (fs/ext2/xip.c).
In this process, the struct page entry in mem_map is looked up in
ext2_get_xip_page(), returned to xip_file_nopage, then returned to
do_no_page.
An alternative approach, which does not need to have struct page at
hand, would be to use the nopfn vm operations struct. That one would
have to rely on get_xip_pfn. The current path would then be
deprecated. If you're interrested in using the later for xip without
struct page, I would volounteer to go ahead and implement this?
so long,
Carsten
next prev parent reply other threads:[~2007-06-14 13:58 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-22 22:09 [PATCH 2.6.21] cramfs: add cramfs Linear XIP Richard Griffiths
2007-05-22 22:49 ` Andrew Morton
2007-05-22 22:58 ` Richard Griffiths (wrs)
2007-05-23 7:51 ` Carsten Otte
2007-05-23 15:25 ` Richard Griffiths (wrs)
2007-05-24 6:46 ` Carsten Otte
2007-05-23 17:21 ` Jared Hulbert
2007-05-24 6:57 ` Carsten Otte
2007-05-29 5:10 ` Nick Piggin
2007-06-02 0:48 ` Jared Hulbert
2007-06-02 8:42 ` Nick Piggin
2007-06-04 13:32 ` Carsten Otte
2007-06-06 11:13 ` Jared Hulbert
2007-06-06 11:33 ` Christoph Hellwig
2007-06-06 15:17 ` Richard Griffiths
2007-06-06 15:50 ` Christoph Hellwig
2007-06-06 16:09 ` Jared Hulbert
2007-06-06 16:07 ` Jared Hulbert
2007-06-06 16:16 ` Christoph Hellwig
2007-06-06 18:26 ` Jared Hulbert
2007-06-07 19:37 ` Christoph Hellwig
2007-06-07 19:40 ` Christoph Hellwig
2007-06-07 20:27 ` Jared Hulbert
2007-06-08 7:39 ` Carsten Otte
2007-06-07 21:11 ` Jared Hulbert
2007-06-07 21:15 ` Christoph Hellwig
2007-06-07 22:59 ` Jared Hulbert
2007-06-08 13:19 ` Jörn Engel
2007-06-08 13:10 ` Jörn Engel
2007-06-06 16:15 ` Carsten Otte
2007-06-06 16:23 ` Christoph Hellwig
2007-06-06 18:40 ` Jared Hulbert
2007-06-06 22:59 ` Matt Mackall
2007-06-07 17:07 ` Carsten Otte
2007-06-07 19:38 ` Christoph Hellwig
2007-06-07 20:34 ` Jared Hulbert
2007-06-08 7:28 ` Christoph Hellwig
2007-06-08 16:02 ` Jared Hulbert
2007-06-08 7:17 ` Carsten Otte
2007-06-08 7:26 ` Christoph Hellwig
2007-06-08 7:50 ` Carsten Otte
2007-06-08 7:57 ` Christoph Hellwig
2007-06-08 7:59 ` Carsten Otte
2007-06-08 8:04 ` Christoph Hellwig
2007-06-08 16:05 ` Jared Hulbert
2007-06-08 16:09 ` Christoph Hellwig
2007-06-08 16:11 ` Jared Hulbert
2007-06-08 16:15 ` Christoph Hellwig
2007-06-08 17:51 ` Jörn Engel
2007-06-08 19:04 ` Carsten Otte
2007-06-08 19:06 ` Carsten Otte
2007-06-08 19:36 ` Jörn Engel
2007-06-09 7:55 ` Carsten Otte
2007-06-09 10:37 ` Jörn Engel
2007-06-08 23:02 ` Jared Hulbert
2007-06-07 21:19 ` Jared Hulbert
2007-06-06 12:05 ` Carsten Otte
2007-06-06 19:01 ` Jared Hulbert
2007-06-07 1:00 ` Justin Treon
2007-06-13 0:11 ` Jared Hulbert
2007-06-14 13:57 ` Carsten Otte [this message]
2007-06-14 16:53 ` Jared Hulbert
2007-06-15 9:22 ` Carsten Otte
2007-06-15 11:49 ` Heiko Carstens
2007-06-15 17:30 ` Jared Hulbert
2007-06-18 7:38 ` Carsten Otte
2007-06-15 13:53 ` Carsten Otte
2007-06-15 21:46 ` Jared Hulbert
2007-05-23 8:21 ` Alistair John Strachan
2007-05-24 20:22 ` Jared Hulbert
2007-05-24 20:52 ` Richard Griffiths
2007-05-24 21:21 ` Jared Hulbert
[not found] <337240.79058.qm@web59309.mail.re1.yahoo.com>
2007-06-09 8:09 ` Carsten Otte
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=4671495A.3020605@de.ibm.com \
--to=cotte@de.ibm.com \
--cc=Linux-kernel@vger.kernel.org \
--cc=akpm@linux-foundation.org \
--cc=carsteno@de.ibm.com \
--cc=jaredeh@gmail.com \
--cc=nickpiggin@yahoo.com.au \
--cc=res07ml0@verizon.net \
--cc=richard.griffiths@windriver.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.