Please note that User Registration has been temporarily disabled due to a recent increase in automated registrations. If anyone needs an account, please request one here: RequestAccount. Thanks for your patience!--Wmat (talk)
Please email User:Wmat if you experience any issues with the Request Account form.

Difference between revisions of "Implement scatter-gather lists support in UBI and UBIFS"

From eLinux.org
Jump to: navigation, search
(add proposal)
(No difference)

Revision as of 19:15, 2 October 2013

Summary
Implement scatter-gather lists support in UBI and UBIFS
Proposer
Ezequiel García <ezequiel@vanguardiasur.com.ar>

Description

Currently UBI and UBIFS seem to allocate a lot vmalloced LEB-sized buffers on mount time. The reason for this is to "reserve" such memory and prevent the big allocations from failing at a later point.

This heavily affects the memory footprint in systems using UBIFS.

A possible solution is to implement scatter-gather lists support in UBI and UBIFS and replace the big (LEB-sized) vmallocations by smaller allocations.

While this is a big effort and will only benefit UBIFS, it is expected that it will help reduce the memory usage in such systems.

In addition, it has the added benefit of addressing another problem. Some ARM platforms don't support DMA on vmalloc'ed buffers; using scatter-gather lists the allocated will be quite smaller -O(page)-, and it will be possible to allocate them on physically contiguous memory (DMA capable).

These are recurrent issues [1, 2, 3] in the UBI mailing list, and it's UBI maintainer's suggested proposal [4].

Related work

As Linus Walleij pointed out [5] the MMC subsystem already implements something along this lines, and so this work might start by looking at that.

Scope

Unknown.

Contractor Candidates

None yet.

[1] http://lists.infradead.org/pipermail/linux-mtd/2009-August/026817.html [2] http://lists.infradead.org/pipermail/linux-mtd/2012-November/044982.html [3] http://lists.infradead.org/pipermail/linux-mtd/2012-October/044586.html [4] http://lists.infradead.org/pipermail/linux-mtd/2012-November/045140.html [5] http://lists.infradead.org/pipermail/linux-mtd/2012-October/044608.html