Re: What File System supports Application XIP

From: David Woodhouse
Date: Thu Sep 09 2004 - 04:45:00 EST


On Thu, 2004-09-09 at 10:19 +0100, Paulo Marques wrote:
> colin wrote:
> >
> > Hi there,
> > We are developing embedded Linux system. Performance is our consideration.
> > We hope some applications can run as fast as possible,
> > and are think if they can be put in a filesystem image, which resides in
> > RAM, and run in XIP (eXecute In Place) manners.
> > I know that Cramfs has supported Application XIP. Is there any other FS that
> > also supports it? Ramdisk? Ramfs? Romfs?
>
> Obvisously cramfs can not support XIP, because the "in-place" image
> is compressed (unless you have a processor that can execute compressed
> code :)

Actually there are hacks floating around which do let you use XIP with
cramfs -- obviously you have to dispense with compression for the files
you want to access that way.

You won't gain at runtime by using XIP though. Your code and data will
end up in RAM _whatever_ file system you use, and you'll be running from
page cache.

You may get a _slightly_ faster startup time after reboot if you use XIP
from flash, because it doesn't have to be loaded into RAM first. But
that comes at the cost of making it all a low slower during normal
operation -- it's a lot slower to fetch icache lines from flash than it
is from RAM.

Arjan's right -- you almost certainly don't really want XIP.

--
dwmw2

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/