[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4653F264.1030807@de.ibm.com>
Date: Wed, 23 May 2007 09:51:00 +0200
From: Carsten Otte <cotte@...ibm.com>
To: Andrew Morton <akpm@...ux-foundation.org>
CC: richard.griffiths@...driver.com,
Richard Griffiths <res07ml0@...izon.net>,
Linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2.6.21] cramfs: add cramfs Linear XIP
Andrew Morton wrote:
> But we'd expected and hoped that flash-based XIP would be able to use
> the existing xip infrastructure, in mm/filemap_xip.c. Not possible?
Thanks for the heads up Andrew. Reading the cramfs patch, I've found a
lot of similarities between the current mainline xip stack and this
nice piece of work. I also observed interresting differences:
The current xip stack does use the block device abstraction added with
an extra direct memory access operation. The cramfs patch does not
abstract between the memory segment and the file system, it rather
uses an address as mount parameter.
Both methods can coexist, and a file system that does not use the
block device abstraction may still provide get_xip_page address space
operation and benefit from the xip stack infrastructure. Each method
makes sense in the context of the corresponding file systems.
The current xip stack relies on having struct page behind the memory
segment. This causes few impact on memory management, but occupies
some more memory. The cramfs patch chose to modify copy on write in
order to deal with vmas that don't have struct page behind.
So far, Hugh and Linus have shown strong opposition against copy on
write with no struct page behind. If this implementation is acceptable
to the them, it seems preferable to me over wasting memory. The xip
stack should be modified to use this vma flag in that case.
This implementation extends cramfs while the current xip stack extends
ext2. I would love to see a cramfs implementation based on
filemap_xip, choice is always a good thing. To me, it looks like this
work can be modified to use filemap_xip.
so long,
Carsten
-
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