]> pilppa.com Git - linux-2.6-omap-h63xx.git/commit
UBIFS: do not allocate too much
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Tue, 18 Nov 2008 18:20:05 +0000 (20:20 +0200)
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Fri, 21 Nov 2008 16:59:25 +0000 (18:59 +0200)
commit6c0c42cdfd73fb161417403d8d077cb136e10bbf
tree343de0cb98df07295bc3e03eee083012ac12bae7
parent39ce81ce7168aa7226fb9f182c3a2b57060d0905
UBIFS: do not allocate too much

Bulk-read allocates 128KiB or more using kmalloc. The allocation
starts failing often when the memory gets fragmented. UBIFS still
works fine in this case, because it falls-back to standard
(non-optimized) read method, though. This patch teaches bulk-read
to allocate exactly the amount of memory it needs, instead of
allocating 128KiB every time.

This patch is also a preparation to the further fix where we'll
have a pre-allocated bulk-read buffer as well. For example, now
the @bu object is prepared in 'ubifs_bulk_read()', so we could
path either pre-allocated or allocated information to
'ubifs_do_bulk_read()' later. Or teaching 'ubifs_do_bulk_read()'
not to allocate 'bu->buf' if it is already there.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
fs/ubifs/file.c
fs/ubifs/super.c
fs/ubifs/tnc.c
fs/ubifs/ubifs.h