android_kernel_sony_sdm845/drivers/block
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
..
aoe block: Use pointer to backing_dev_info from request_queue 2018-02-28 00:14:35 -08:00
drbd treewide: Backport new vmalloc for large performance benefits 2026-05-15 17:48:25 +07:00
mtip32xx Revert "mtip32xx: use runtime tag to initialize command header" 2018-04-08 12:13:01 +02:00
paride cdrom: do not call check_disk_change() inside cdrom_open() 2018-05-30 07:50:47 +02:00
rsxx block: rsxx: fix error return code of rsxx_pci_probe() 2021-03-17 16:10:18 +01:00
xen-blkback xen-blkback: don't leak persistent grants from xen_blkbk_map() 2021-03-30 14:41:43 +02:00
zram Merge remote-tracking branch 'common/android-4.9-q' into android12-4.9-sdm845 2022-03-31 22:52:51 +03:00
amiflop.c amiflop: clean up on errors during setup 2019-11-28 18:28:23 +01:00
ataflop.c ataflop: fix error handling during setup 2018-11-13 11:16:49 -08:00
brd.c block: Move SECTOR_SIZE and SECTOR_SHIFT definitions into <linux/blkdev.h> 2020-09-12 11:47:36 +02:00
cciss.c
cciss.h
cciss_cmd.h
cciss_scsi.c
cciss_scsi.h
cryptoloop.c cryptoloop: add a deprecation warning 2021-09-22 11:42:55 +02:00
DAC960.c
DAC960.h
floppy.c floppy: use a statically allocated error counter 2022-05-25 08:39:47 +02:00
hd.c
Kconfig Merge remote-tracking branch 'common/android-4.9-q' into android12-4.9-sdm845 2022-06-12 01:39:01 +03:00
loop.c statx: Add a system call to make enhanced file info available 2025-07-10 14:15:39 -04:00
loop.h Revert "block/loop: Use global lock for ioctl() operation." 2019-05-02 09:32:04 +02:00
Makefile vservices: block: add the block protocol and drivers 2018-12-09 18:41:10 -08:00
mg_disk.c
nbd.c nbd: Use set_blocksize() to set device blocksize 2019-01-23 08:10:57 +01:00
null_blk.c
osdblk.c
pktcdvd.c Merge "Merge android-4.9-o.82 (2d34d45) into msm-4.9" 2018-03-08 05:06:48 -08:00
ps3disk.c ps3disk: use the default segment boundary 2020-06-30 15:38:21 -04:00
ps3vram.c
rbd.c Merge branch 'android-4.9-q' of https://android.googlesource.com/kernel/common into lineage-17.1-caf-sdm845 2021-01-17 05:04:08 +02:00
rbd_types.h
skd_main.c
skd_s1120.h
smart1,2.h
sunvdc.c sunvdc: Do not spin in an infinite loop when vio_ldc_send() returns EAGAIN 2019-02-12 19:44:53 +01:00
swim.c swim: fix cleanup on setup error 2018-11-13 11:16:49 -08:00
swim3.c block/swim3: Fix -EBUSY error when re-opening device after unmount 2019-02-12 19:44:58 +01:00
swim_asm.S
sx8.c
umem.c
umem.h
virtio_blk.c virtio-blk: Use blk_validate_block_size() to validate block size 2022-04-20 09:06:28 +02:00
vs_block_client.c block: vservices: fix client and server to work for UFS 2019-02-27 11:53:39 +08:00
vs_block_server.c block: vservices: fix client and server to work for UFS 2019-02-27 11:53:39 +08:00
xen-blkfront.c xen/blkfront: force data bouncing when backend is untrusted 2022-07-07 17:30:11 +02:00
xsysace.c xsysace: Fix error handling in ace_setup 2019-05-08 07:19:11 +02:00
z2ram.c