28 Feb, 2013
1 commit
-
Currently, sizeof(struct parsed_partitions) may be 64KB in 32bit arch, so
it is easy to trigger page allocation failure by check_partition,
especially in hotplug block device situation(such as, USB mass storage,
MMC card, ...), and Felipe Balbi has observed the failure.This patch does below optimizations on the allocation of struct
parsed_partitions to try to address the issue:- make parsed_partitions.parts as pointer so that the pointed memory can
fit in 32KB buffer, then approximate 32KB memory can be saved- vmalloc the buffer pointed by parsed_partitions.parts because 32KB is
still a bit big for kmalloc- given that many devices have the partition count limit, so only
allocate disk_max_parts() partitions instead of 256 partitions alwaysSigned-off-by: Ming Lei
Reported-by: Felipe Balbi
Cc: Jens Axboe
Reviewed-by: Yasuaki Ishimatsu
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
04 Jan, 2012
2 commits
-
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro