linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Jared Hulbert <jaredeh@gmail.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	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, 7 Jun 2007 20:37:07 +0100	[thread overview]
Message-ID: <20070607193707.GA17144@infradead.org> (raw)
In-Reply-To: <6934efce0706061126n551cccaeg68a0def87457911@mail.gmail.com>

On Wed, Jun 06, 2007 at 11:26:38AM -0700, Jared Hulbert wrote:
> >FYI: Cartsten had an xip fs for s390 aswell, and that evolved into
> >the filemap.c bits after a lot of rework an quite a few round of
> >review.
> 
> Right.  So now we leverage this filemap_xip.c in cramfs.  Why is this a 
> problem?

Using filemap_xip.c is of course good.  Hacking cramfs up to contain
totally different codepathes is not.

> >> What??  You mean like use xip_file_mmap() and implement
> >> get_xip_page()?  Did you read my latest patch?
> >
> >Yes.  This is the highlevel way to go, just please don't hack it into
> >cramfs.
> 
> Right, so this latest patch _does_ implement get_xip_page() and
> xip_file_mmap().  Why not hack it into cramfs?

cramfs used to be a block based filesystem.  You hack in support to
work directly on physical addresses.  Your create a lot of different
codepathes that are only used for one of the usecases.

Instead of just talking here I've hacked up a small demo on how this
should be approached.  I've taken cramfs with your modification and
remove all the support for block devices.  In addition we now could
rip out the mutex serializing all reads and clean up the way xip
support is hooked in.  The result is a slightly smaller and cleaner
filesystem that even more important doesn't require pulling in
the whole block layer which is especially important for embedded
devices at the lower end of the scala.  This is just a proof of
concept and thus is still named cramfs, no docs or copyrights etc
are updated.  It's still incomplete aswell because we'd probably
want a better selection of files to use xip for, and we'd need
a real API to talk to the lowlevel driver for xip instead of the
physical address hack.  I still think it'd be even better to just
hook xip support into jffs or logfs because they give you a full
featured flash filesystem for all needs without the complexity
of strictly partitioning between xip-capable and write parts
of your storage.

The code is at http://verein.lst.de/~hch/cramfs-xip.tar.gz.

  reply	other threads:[~2007-06-07 19:37 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 [this message]
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
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=20070607193707.GA17144@infradead.org \
    --to=hch@infradead.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).