* [PATCH 0/2] squashfs: support linear addressing @ 2012-05-15 11:33 UCHINO Satoshi 2012-05-15 13:02 ` Vyacheslav Dubeyko 2012-05-16 6:09 ` Vyacheslav Dubeyko 0 siblings, 2 replies; 5+ messages in thread From: UCHINO Satoshi @ 2012-05-15 11:33 UTC (permalink / raw) To: squashfs-devel; +Cc: linux-fsdevel, nemoto This patchset enables the SquashFS driver to load data directly from a linear adressed memory range (usually non volatile memory like flash) instead of going through the block device layer. This saves some memory since no intermediate buffering is necessary. The location of the SquashFs image need to be specified by using the physaddr=0x******** mount option. For example, mount -t squashfs_linear -o physaddr=0x100000 none /mnt In addition, the linear SquashFS image can be used as a root file system. To actually have the kernel mount this SquashFS image as a root file system, you must also pass the command line parameter "root=/dev/null", "rootfstype=squashfs_linear", and "rootflags=physaddr=0x********" to the kernel (replace 0x******** with the physical address location of the linear SquashFs image to boot with). UCHINO Satoshi (2): squashfs: add an extra argument to decompress callback squashfs: support linear addressing fs/squashfs/Kconfig | 25 +++++++ fs/squashfs/block.c | 72 ++++++++++++++++++--- fs/squashfs/decompressor.h | 6 +- fs/squashfs/inode.c | 10 +++ fs/squashfs/lzo_wrapper.c | 12 +++- fs/squashfs/squashfs.h | 5 ++ fs/squashfs/squashfs_fs_sb.h | 2 + fs/squashfs/super.c | 144 +++++++++++++++++++++++++++++++++++++++--- fs/squashfs/xz_wrapper.c | 7 ++- fs/squashfs/zlib_wrapper.c | 7 ++- 10 files changed, 265 insertions(+), 25 deletions(-) ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/2] squashfs: support linear addressing 2012-05-15 11:33 [PATCH 0/2] squashfs: support linear addressing UCHINO Satoshi @ 2012-05-15 13:02 ` Vyacheslav Dubeyko 2012-05-17 1:32 ` UCHINO Satoshi 2012-05-16 6:09 ` Vyacheslav Dubeyko 1 sibling, 1 reply; 5+ messages in thread From: Vyacheslav Dubeyko @ 2012-05-15 13:02 UTC (permalink / raw) To: UCHINO Satoshi; +Cc: squashfs-devel, linux-fsdevel, nemoto Hi, Could you please describe in more details advantages of your patchset? Do you have any benchmark results? With the best regards, Vyacheslav Dubeyko. On Tue, 2012-05-15 at 20:33 +0900, UCHINO Satoshi wrote: > This patchset enables the SquashFS driver to load data directly from a > linear adressed memory range (usually non volatile memory like flash) > instead of going through the block device layer. This saves some > memory since no intermediate buffering is necessary. > > The location of the SquashFs image need to be specified by using the > physaddr=0x******** mount option. > For example, > mount -t squashfs_linear -o physaddr=0x100000 none /mnt > > In addition, the linear SquashFS image can be used as a root file > system. To actually have the kernel mount this SquashFS image as a > root file system, you must also pass the command line parameter > "root=/dev/null", "rootfstype=squashfs_linear", and > "rootflags=physaddr=0x********" to the kernel (replace 0x******** with > the physical address location of the linear SquashFs image to boot > with). > > UCHINO Satoshi (2): > squashfs: add an extra argument to decompress callback > squashfs: support linear addressing > > fs/squashfs/Kconfig | 25 +++++++ > fs/squashfs/block.c | 72 ++++++++++++++++++--- > fs/squashfs/decompressor.h | 6 +- > fs/squashfs/inode.c | 10 +++ > fs/squashfs/lzo_wrapper.c | 12 +++- > fs/squashfs/squashfs.h | 5 ++ > fs/squashfs/squashfs_fs_sb.h | 2 + > fs/squashfs/super.c | 144 +++++++++++++++++++++++++++++++++++++++--- > fs/squashfs/xz_wrapper.c | 7 ++- > fs/squashfs/zlib_wrapper.c | 7 ++- > 10 files changed, 265 insertions(+), 25 deletions(-) > -- > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/2] squashfs: support linear addressing 2012-05-15 13:02 ` Vyacheslav Dubeyko @ 2012-05-17 1:32 ` UCHINO Satoshi 0 siblings, 0 replies; 5+ messages in thread From: UCHINO Satoshi @ 2012-05-17 1:32 UTC (permalink / raw) To: slava; +Cc: squashfs-devel, linux-fsdevel, nemoto Hi, On Tue, 15 May 2012 22:02:22 +0900, "Vyacheslav Dubeyko" <slava@dubeyko.com> wrote: > Hi, > > Could you please describe in more details advantages of your patchset? > Do you have any benchmark results? Though this is quite old material (6 years old :), here is our presentation material at CELF Japan Jamboree #6. (http://tree.celinuxforum.org/CelfPubWiki/JapanTechnicalJamboree6) (Slide in Japanese) http://tree.celinuxforum.org/CelfPubWiki/JapanTechnicalJamboree6?action=AttachFile&do=view&target=squashfs_jpn.pdf (English translation) http://tree.celinuxforum.org/CelfPubWiki/JapanTechnicalJamboree6?action=AttachFile&do=view&target=squashfs_eng.pdf See pages 12-15 in particular. In this benchmark, we copied initrd image to ram disk. Now, we probably have better way to do so and performance improvement will get much smaller. However, for the use case of mounting image in arbitrary physical address range, we believe this solution is much more straightfoward than using block devices. Best regards, UCHINO Satoshi > On Tue, 2012-05-15 at 20:33 +0900, UCHINO Satoshi wrote: >> This patchset enables the SquashFS driver to load data directly from a >> linear adressed memory range (usually non volatile memory like flash) >> instead of going through the block device layer. This saves some >> memory since no intermediate buffering is necessary. >> >> The location of the SquashFs image need to be specified by using the >> physaddr=0x******** mount option. >> For example, >> mount -t squashfs_linear -o physaddr=0x100000 none /mnt >> >> In addition, the linear SquashFS image can be used as a root file >> system. To actually have the kernel mount this SquashFS image as a >> root file system, you must also pass the command line parameter >> "root=/dev/null", "rootfstype=squashfs_linear", and >> "rootflags=physaddr=0x********" to the kernel (replace 0x******** with >> the physical address location of the linear SquashFs image to boot >> with). >> >> UCHINO Satoshi (2): >> squashfs: add an extra argument to decompress callback >> squashfs: support linear addressing >> >> fs/squashfs/Kconfig | 25 +++++++ >> fs/squashfs/block.c | 72 ++++++++++++++++++--- >> fs/squashfs/decompressor.h | 6 +- >> fs/squashfs/inode.c | 10 +++ >> fs/squashfs/lzo_wrapper.c | 12 +++- >> fs/squashfs/squashfs.h | 5 ++ >> fs/squashfs/squashfs_fs_sb.h | 2 + >> fs/squashfs/super.c | 144 >> +++++++++++++++++++++++++++++++++++++++--- >> fs/squashfs/xz_wrapper.c | 7 ++- >> fs/squashfs/zlib_wrapper.c | 7 ++- >> 10 files changed, 265 insertions(+), 25 deletions(-) ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/2] squashfs: support linear addressing 2012-05-15 11:33 [PATCH 0/2] squashfs: support linear addressing UCHINO Satoshi 2012-05-15 13:02 ` Vyacheslav Dubeyko @ 2012-05-16 6:09 ` Vyacheslav Dubeyko 2012-05-17 1:40 ` UCHINO Satoshi 1 sibling, 1 reply; 5+ messages in thread From: Vyacheslav Dubeyko @ 2012-05-16 6:09 UTC (permalink / raw) To: UCHINO Satoshi; +Cc: squashfs-devel, linux-fsdevel, nemoto Hi, By the way, what about reliability of your solution? I mean possible bit-flips, bad blocks in the case of "pure" NAND. Maybe, I am not fully familiarize with your solution but I worry about reliability issues. And what about MTD layer API? Why do you not use MTD layer in your solution? With the best regards, Vyacheslav Dubeyko. On Tue, 2012-05-15 at 20:33 +0900, UCHINO Satoshi wrote: > This patchset enables the SquashFS driver to load data directly from a > linear adressed memory range (usually non volatile memory like flash) > instead of going through the block device layer. This saves some > memory since no intermediate buffering is necessary. > > The location of the SquashFs image need to be specified by using the > physaddr=0x******** mount option. > For example, > mount -t squashfs_linear -o physaddr=0x100000 none /mnt > > In addition, the linear SquashFS image can be used as a root file > system. To actually have the kernel mount this SquashFS image as a > root file system, you must also pass the command line parameter > "root=/dev/null", "rootfstype=squashfs_linear", and > "rootflags=physaddr=0x********" to the kernel (replace 0x******** with > the physical address location of the linear SquashFs image to boot > with). > > UCHINO Satoshi (2): > squashfs: add an extra argument to decompress callback > squashfs: support linear addressing > > fs/squashfs/Kconfig | 25 +++++++ > fs/squashfs/block.c | 72 ++++++++++++++++++--- > fs/squashfs/decompressor.h | 6 +- > fs/squashfs/inode.c | 10 +++ > fs/squashfs/lzo_wrapper.c | 12 +++- > fs/squashfs/squashfs.h | 5 ++ > fs/squashfs/squashfs_fs_sb.h | 2 + > fs/squashfs/super.c | 144 +++++++++++++++++++++++++++++++++++++++--- > fs/squashfs/xz_wrapper.c | 7 ++- > fs/squashfs/zlib_wrapper.c | 7 ++- > 10 files changed, 265 insertions(+), 25 deletions(-) > -- > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/2] squashfs: support linear addressing 2012-05-16 6:09 ` Vyacheslav Dubeyko @ 2012-05-17 1:40 ` UCHINO Satoshi 0 siblings, 0 replies; 5+ messages in thread From: UCHINO Satoshi @ 2012-05-17 1:40 UTC (permalink / raw) To: slava; +Cc: squashfs-devel, linux-fsdevel, nemoto Hi, On Wed, 16 May 2012 15:09:23 +0900, "Vyacheslav Dubeyko" <slava@dubeyko.com> wrote: > By the way, what about reliability of your solution? I mean possible > bit-flips, bad blocks in the case of "pure" NAND. Maybe, I am not fully > familiarize with your solution but I worry about reliability issues. > And what about MTD layer API? Why do you not use MTD layer in your > solution? To mount squashfs images in raw NAND flashes, as you suggested, we should use UBI, etc. to handle bad block management. BTW, I guess raw NAND flashes are not linearly accessible. What we are assuming is devices which can be directly accessed by physical addresses, such as RAM, NOR flashes, etc. Best regards, UCHINO Satoshi > On Tue, 2012-05-15 at 20:33 +0900, UCHINO Satoshi wrote: >> This patchset enables the SquashFS driver to load data directly from a >> linear adressed memory range (usually non volatile memory like flash) >> instead of going through the block device layer. This saves some >> memory since no intermediate buffering is necessary. >> >> The location of the SquashFs image need to be specified by using the >> physaddr=0x******** mount option. >> For example, >> mount -t squashfs_linear -o physaddr=0x100000 none /mnt >> >> In addition, the linear SquashFS image can be used as a root file >> system. To actually have the kernel mount this SquashFS image as a >> root file system, you must also pass the command line parameter >> "root=/dev/null", "rootfstype=squashfs_linear", and >> "rootflags=physaddr=0x********" to the kernel (replace 0x******** with >> the physical address location of the linear SquashFs image to boot >> with). >> >> UCHINO Satoshi (2): >> squashfs: add an extra argument to decompress callback >> squashfs: support linear addressing >> >> fs/squashfs/Kconfig | 25 +++++++ >> fs/squashfs/block.c | 72 ++++++++++++++++++--- >> fs/squashfs/decompressor.h | 6 +- >> fs/squashfs/inode.c | 10 +++ >> fs/squashfs/lzo_wrapper.c | 12 +++- >> fs/squashfs/squashfs.h | 5 ++ >> fs/squashfs/squashfs_fs_sb.h | 2 + >> fs/squashfs/super.c | 144 >> +++++++++++++++++++++++++++++++++++++++--- >> fs/squashfs/xz_wrapper.c | 7 ++- >> fs/squashfs/zlib_wrapper.c | 7 ++- >> 10 files changed, 265 insertions(+), 25 deletions(-) ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-05-17 1:40 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-05-15 11:33 [PATCH 0/2] squashfs: support linear addressing UCHINO Satoshi 2012-05-15 13:02 ` Vyacheslav Dubeyko 2012-05-17 1:32 ` UCHINO Satoshi 2012-05-16 6:09 ` Vyacheslav Dubeyko 2012-05-17 1:40 ` UCHINO Satoshi
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).