Re: [RFC] Advanced XIP File System

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Nice, this is the first time I heard of anyone using filemap_xip on MTD.

Actually we don't use the MTD.  Well, we may use it to provide the
physical address of the volume, thats not really _using_ it.

ext2fs does have XIP of applications, but of course only works on
block devices, not MTD. Is there more missing than an implementation
of block_device_operations::direct_access for mtd_blktrans_ops?

It works on very specific block devices to be clear.  Yeah, as I
understand it, the hardware to enable it is missing.

Why can't you get the same result with a combination of cramfs for
data files and ext2 with -o xip for your mmapped binaries?

Not having the block device driver is by design.  In this case I don't
need a block device because the entire "disk" or binary image is in
readonly memory already.  I don't need to fetch blocks.  This is
readonly so I don't need to write blocks either.  A block device
driver would do what for me?

Also ext2 doesn't do compression, and it doesn't let me pick out
specific pages in files to XIP or compress.

Is that a fundamental problem of cramfs, or rather a problem of the
implementation of the linear XIP patches for it?

A little of both.  The architecture of cramfs doesn't lend itself to
the page by page XIP without really changing the fundamental layout of
cramfs.  Why mess with it?

IOW, can't you just
do a better patch to add filemap_xip support to cramfs?

I started out with that goal.  This seemed like the best option after
we did the deep dive into how to go about it.

- Design allows for tighter packing of data and higher performance
than XIP cramfs

why? by how much?

Data packing:
1) When mkcramfs is writing files to the image it mixes compress and
XIP files.  XIP files are page aligned.  Compressed files are not.  I
think it was about 3.3% wasted I measured on an actual production
linux phone.
2) Choosing page by page to XIP or compress means you can save space,
but it depends on what is more precious, RAM or Flash, given real
designs (ie - you don't buy 36MiB of RAM you get 32MiB or 64MiB)

Performance:
1) The way we are storing the metadata should make for quicker access.
2) Being able to store specific pages of RO data from an otherwise XIP
file such that they end up in RAM has speed thing up for us a great
deal in the lab.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux