android_kernel_sony_sdm845/fs/ext4
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Angelo G. Del Regno 24b59982a7 treewide: Backport new vmalloc for large performance benefits
This is a backport from Linux 5.2-rc1 of a patch series to greatly enhance vmalloc's performance
especially on embedded systems, plus all of its dependencies that were missing in kernel 4.9.

For all the informations, refer to LKML: https://lkml.org/lkml/2018/10/19/786

Brief informations:
Currently an allocation of the new VA area is done over busy list iteration until a suitable hole
is found between two busy areas. Therefore each new allocation causes the list being grown.
Due to long list and different permissive parameters an allocation can take a long time on
embedded devices(milliseconds).

This patch organizes the vmalloc memory layout into free areas of the VMALLOC_START-VMALLOC_END range.
It uses a red-black tree that keeps blocks sorted by their offsets in pair with linked list
keeping the free space in order of increasing addresses.

Quote Phoronix:
With this patch from Uladzislau Rezki, calling vmalloc() can take up to 67% less time compared
to the behavior on Linux 5.1 and prior, at least with tests done by the developer under QEMU.

Personal tests are showing that the device is more responsive when memory pressure is
high and when huge allocations are to be done, it's also noticeably faster in this case, like
when starting Chrome with more than 100 opened tabs after a system reboot (so, an
uncached complete load of it).

Shameless kanged from:
https://github.com/sonyxperiadev/kernel / Pull Request 2016

Signed-off-by: sweetyicecare <gabrielseedev@outlook.com>
Signed-off-by: Aoihara <veronicadisa6@gmail.com>
Signed-off-by: KangMamles <imzea69@gmail.com>
Signed-off-by: Sorayukii <sorayukii69@gmail.com>
2026-05-15 17:48:25 +07:00
..
acl.c
acl.h
balloc.c ext4: fix potential race between online resizing and write operations 2020-03-11 07:53:01 +01:00
bitmap.c
block_validity.c ext4: check journal inode extents more carefully 2021-03-24 10:59:21 +01:00
dir.c Merge remote-tracking branch 'common/android-4.9-q' into lineage-18.1-caf-sdm845 2021-10-19 16:05:50 +03:00
ext4.h statx: Add a system call to make enhanced file info available 2025-07-10 14:15:39 -04:00
ext4_extents.h ext4: fix EXT_MAX_EXTENT/INDEX to check for zeroed eh_max 2020-06-20 10:24:19 +02:00
ext4_jbd2.c
ext4_jbd2.h Merge remote-tracking branch 'origin/upstream-f2fs-stable-linux-4.9.y' into android-4.9 2019-05-08 14:54:00 -07:00
extents.c Merge branch 'android-4.9-q' of https://android.googlesource.com/kernel/common into lineage-18.1-caf-sdm845 2021-07-22 02:11:11 +03:00
extents_status.c ext4: remove check for zero nr_to_scan in ext4_es_scan() 2021-07-20 16:20:56 +02:00
extents_status.h
file.c Merge remote-tracking branch 'common/android-4.9-q' into android13-4.9-sdm845 2022-11-09 19:25:28 +02:00
fsync.c ext4: fix race between ext4_sync_parent() and rename() 2020-06-20 10:24:19 +02:00
hash.c
ialloc.c Merge remote-tracking branch 'common/android-4.9-q' into android13-4.9-sdm845 2022-10-13 02:22:58 +03:00
indirect.c ext4: fix error code return to user-space in ext4_get_branch() 2023-01-07 12:07:38 +01:00
inline.c Merge remote-tracking branch 'common/android-4.9-q' into android12-4.9-sdm845 2022-09-06 06:20:26 +03:00
inode.c statx: Add a system call to make enhanced file info available 2025-07-10 14:15:39 -04:00
ioctl.c Merge branch 'android-4.9-q' of https://android.googlesource.com/kernel/common into lineage-20 2023-01-19 15:42:12 +01:00
Kconfig Merge android-4.9.175 (e2171b6) into msm-4.9 2019-06-13 13:53:43 +08:00
Makefile
mballoc.c treewide: Backport new vmalloc for large performance benefits 2026-05-15 17:48:25 +07:00
mballoc.h
migrate.c ext4: fix warning in 'ext4_da_release_space' 2022-11-10 15:46:07 +01:00
mmp.c ext4: don't assume that mmp_nodename/bdevname have NUL 2020-02-28 15:42:11 +01:00
move_extent.c Merge remote-tracking branch 'origin/upstream-f2fs-stable-linux-4.9.y' into android-4.9 2019-05-08 14:54:00 -07:00
namei.c Merge branch 'android-4.9-q' of https://android.googlesource.com/kernel/common into lineage-20 2023-01-19 15:42:12 +01:00
page-io.c Merge branch 'linux-4.9.y' of https://kernel.googlesource.com/pub/scm/linux/kernel/git/jaegeuk/f2fs-stable into lineage-20 2022-11-16 15:35:23 +01:00
readpage.c ext4: readpages() should submit IO as read-ahead 2021-05-26 18:59:41 +03:00
resize.c ext4: continue to expand file system when the target size doesn't reach 2022-10-26 13:15:48 +02:00
super.c treewide: Backport new vmalloc for large performance benefits 2026-05-15 17:48:25 +07:00
symlink.c
sysfs.c Merge remote-tracking branch 'origin/upstream-f2fs-stable-linux-4.9.y' into android-4.9 2019-05-08 14:54:00 -07:00
truncate.h
xattr.c ext4: avoid BUG_ON when creating xattrs 2023-01-07 12:07:38 +01:00
xattr.h ext4: add EXT4_INODE_HAS_XATTR_SPACE macro in xattr.h 2022-08-25 11:09:26 +02:00
xattr_security.c
xattr_trusted.c
xattr_user.c