1 / 20

AXFS Advanced XIP Filing System Jared Hulbert Numonyx April 15, 2008

AXFS Advanced XIP Filing System Jared Hulbert Numonyx April 15, 2008. Agenda. Goal/History Features Architecture Test Results Kernel Integration. Project Goals. Supportable solution for application XIP Fine grained control on compression Flexible use of all system memories

orly
Download Presentation

AXFS Advanced XIP Filing System Jared Hulbert Numonyx April 15, 2008

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AXFS Advanced XIP Filing System Jared Hulbert Numonyx April 15, 2008

  2. Agenda • Goal/History • Features • Architecture • Test Results • Kernel Integration

  3. Project Goals • Supportable solution for application XIP • Fine grained control on compression • Flexible use of all system memories • NOR, NAND, RAM

  4. What is Application XIP? • eXecute In Place of userspace code • Run code from where it is stored on Flash • Saves memory • No paging = higher performance • “I thought the kernel supported XIP?” • Yes, for ext2 with specialized hardware • Yes, for kernel code segments (xipImage)

  5. Why a New Filesystem? • CRAMFS XIP patches used to work BUT... • ~9 years old and haven’t been merged??? • patches broke, real bad, every year • File level compression choice • SquashFS? New, better compression BUT… • Block device oriented architecture • Didn’t see how to fit new concepts into arch

  6. Features

  7. Superblock Points to many region descriptor Region Descriptor Describes / points to one region Regions Each data type / table has own region permissions, file names, file node info, file data, etc. Onmedia Format Super Block Region Descriptor Region Descriptor Region Descriptor File Info XIP Region Compressed Region

  8. XIP Region Index 0 Index 1 Index 2 Uncompressed cblock Index 0 Index 1 Index 2 Index 3 cblock Offset Table Compressed Region cnode Offset Table Index 3 Index 1 Data Flow inode Node Index Node Type Table XIP Compressed Application Virtual Pages

  9. Mount Options mount –t axfs –o block_dev=/dev/mtd1 /dev/mtd0 /mnt/axfs /dev/mtd0 (NOR) /dev/mtd0 (NOR) ~/file.axfs (-o loop) /dev/sda0 /dev/mtd0 (NAND) AXFS Image AXFS Image Part 1 (MMAP) AXFS Image AXFS Image AXFS Image /dev/mtd1 (NAND) AXFS Image Part 2 (IO)

  10. Image Size Comparison ~1 year old Opie build from OpenEmbedded

  11. Total Memory Used

  12. Fitting into Real Chips

  13. PXA270 Linux-2.6.22 Opie build 520 MHz (CPU) 208 MHz (memory clock) 104 MHz (SDRAM bus) 52 MHz (NOR flash bus) xipImage CONFIG_PREEMPT=y MTD updated to Sept 25 git pull “mem=24MB” in kernel commandline OpenEmbedded ~1 year old Performance: direct comparison

  14. Performance: Direct Comparison Root Filing System Comparison Video at: http://www.youtube.com/watch?v=fu6Yj7iKEiA

  15. Performance: realistic comparison • Started with commercial phone • PXA270, 48MB RAM, 32MB NOR, 96MB NAND • 297 MHz (CPU) / 97 MHz (SDRAM bus) /48 MHz (NOR flash bus) • code in CRAMFS from NOR • data in NAND • “XIP” • code in AXFS from NOR • data in NAND • “SnD” • code in CRAMFS from NAND • data on NAND

  16. Performance: realistic comparison XIP vs. SND: Realistic Performance Comparison Video at: http://www.youtube.com/watch?v=HUqFrA4FYd0

  17. Kernel Integration Status • Patches • VM_MIXEDMAP / pageless XIP patchset • just got in –mm tree • 2.6.26? • Physaddr in mtd->point() • Waiting on dwmw2 • Todo Features • Added compression options (LZO, LZMA, etc) • brd RAM disk support

  18. Resources • Git tree git://git.infradead.org/home/jehulber/axfs.git • Sourceforge site http://axfs.sf.net

  19. App launch time

More Related