From: Greg Ungerer <gerg@snapgear.com>
To: Jamie Lokier <jamie@shareable.org>
Cc: "Jared Hulbert" <jaredeh@gmail.com>,
Linux-kernel@vger.kernel.org, linux-embedded@vger.kernel.org,
linux-mtd <linux-mtd@lists.infradead.org>,
"Jörn Engel" <joern@logfs.org>,
tim.bird@am.sony.com, cotte@de.ibm.com, nickpiggin@yahoo.com.au
Subject: Re: [PATCH 00/10] AXFS: Advanced XIP filesystem
Date: Tue, 26 Aug 2008 00:02:25 +1000 [thread overview]
Message-ID: <48B2BB71.3090803@snapgear.com> (raw)
In-Reply-To: <20080825114346.GB20960@shareable.org>
Hi Jamie,
Jamie Lokier wrote:
> Greg Ungerer wrote:
>> Sort of. It actually just uses a single ->read to bring in
>> the entire file contents. There is a few limitations on the use
>> of mmap() for non-mmu. Documentation/nommu-mmap.txt gives
>> more details. With no MMU it does rely on being able to kmalloc()
>> a single RAM region big enough to hold the entire file.
>
> That's unfortunate, if you're using FDPIC-ELF or BFLT-XIP, you really want
> to kmalloc() one region for code (i.e. mmap not the whole file), and
> one separate for data.
That is what the BFLT loader does. For the XIP case it mmap()s
the text directly from the file, and then mmap()s a second region
for the data/bss (reading the data into that region).
I was referring to general mmap() of a file case above, not
the exec path.
> Asking for a single larger region sometimes
> creates much higher memory pressure while kmalloc() attempts to
> defragment by evicting everything.
Sure.
> But that's fiddly to do right in general.
>
> The natural thing for AXFS to do to support no-MMU FDPIC-ELF or
> BFLT-XIP is store the code segment uncompressed and contiguous, and
> the data segment however the filesystem prefers, and the profiling
> information to work out where these are is readily available from the
> mmap() calls, which are always the same when an executable is run.
Yep.
Regards
Greg
------------------------------------------------------------------------
Greg Ungerer -- Chief Software Dude EMAIL: gerg@snapgear.com
SnapGear -- a Secure Computing Company PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
next prev parent reply other threads:[~2008-08-25 14:02 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-21 5:44 [PATCH 00/10] AXFS: Advanced XIP filesystem Jared Hulbert
2008-08-21 6:32 ` Frans Meulenbroeks
2008-08-21 19:32 ` Jared Hulbert
2008-08-22 2:04 ` Nick Piggin
2008-08-21 8:39 ` Dave Chinner
2008-08-21 14:19 ` Jared Hulbert
2008-08-21 14:31 ` Leon Woestenberg
2008-08-21 14:42 ` Jared Hulbert
2008-08-21 14:49 ` Geert Uytterhoeven
2008-08-21 10:25 ` Carsten Otte
2008-08-21 10:43 ` Nick Piggin
2008-08-21 12:53 ` Arnd Bergmann
2008-08-21 14:12 ` Jared Hulbert
2008-08-21 14:14 ` Arnd Bergmann
2008-08-21 14:13 ` Jared Hulbert
2008-08-22 2:32 ` Nick Piggin
2008-08-21 14:30 ` Jared Hulbert
2008-08-21 11:07 ` Jamie Lokier
2008-08-21 14:11 ` Jared Hulbert
2008-08-22 0:12 ` Greg Ungerer
2008-08-22 2:48 ` Jared Hulbert
2008-08-25 6:35 ` Greg Ungerer
2008-08-25 11:43 ` Jamie Lokier
2008-08-25 14:02 ` Greg Ungerer [this message]
2008-08-22 18:13 ` Jamie Lokier
2008-08-22 18:16 ` Jared Hulbert
2008-08-22 18:37 ` Jamie Lokier
2008-08-22 18:43 ` Jamie Lokier
2008-09-12 21:52 ` Jared Hulbert
2008-09-15 16:34 ` Jamie Lokier
2008-09-15 19:43 ` Jared Hulbert
2008-09-19 19:20 ` Trent Piepho
2008-09-16 6:57 ` Ricard Wanderlof
2008-09-16 15:30 ` Jared Hulbert
2008-09-12 20:17 ` Jared Hulbert
2008-09-15 16:40 ` Jamie Lokier
2008-08-21 23:46 ` Greg Ungerer
2008-08-22 18:10 ` Jamie Lokier
2008-08-22 14:54 ` Geert Uytterhoeven
2008-08-22 15:19 ` Arnd Bergmann
2008-08-22 16:51 ` Jared Hulbert
2008-08-25 9:37 ` Geert Uytterhoeven
2008-08-25 10:52 ` Carsten Otte
2008-08-25 12:16 ` David Woodhouse
2008-08-28 15:40 ` Geert Uytterhoeven
2008-09-02 15:37 ` Geert Uytterhoeven
2008-09-02 16:44 ` Jared Hulbert
2008-09-02 17:15 ` Jörn Engel
2008-09-02 17:47 ` Jared Hulbert
2008-09-02 18:33 ` Geert Uytterhoeven
2008-08-22 22:09 ` Will Marone
2008-08-25 7:23 ` Geert Uytterhoeven
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=48B2BB71.3090803@snapgear.com \
--to=gerg@snapgear.com \
--cc=Linux-kernel@vger.kernel.org \
--cc=cotte@de.ibm.com \
--cc=jamie@shareable.org \
--cc=jaredeh@gmail.com \
--cc=joern@logfs.org \
--cc=linux-embedded@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=nickpiggin@yahoo.com.au \
--cc=tim.bird@am.sony.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