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
..
aacraid
scsi: aacraid: fix illegal IO beyond last LBA
2020-10-01 20:40:01 +02:00
aic7xxx
scsi: aic7xxx: Fix unintentional sign extension issue on left shift of u8
2021-07-28 09:14:25 +02:00
aic94xx
Revert "scsi: aic94xx: fix module loading"
2019-02-20 10:18:35 +01:00
arcmsr
arm
scsi: eesox: Fix different dev_id between request_irq() and free_irq()
2020-08-21 11:02:01 +02:00
be2iscsi
scsi: be2iscsi: Fix an error handling path in beiscsi_dev_probe()
2021-07-20 16:21:15 +02:00
bfa
scsi: bfa: Replace snprintf() with sysfs_emit()
2022-04-20 09:06:42 +02:00
bnx2fc
scsi: bnx2fc: Make bnx2fc_recv_frame() mp safe
2022-02-08 18:15:29 +01:00
bnx2i
scsi: bnx2i: Requires MMU
2020-12-29 13:44:50 +01:00
csiostor
scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn()
2021-11-26 11:48:37 +01:00
cxgbi
scsi: libcxgbi: fix NULL pointer dereference in cxgbi_device_destroy()
2020-01-23 08:19:37 +01:00
cxlflash
device_handler
scsi: scsi_dh_rdac: Avoid crash during rdac_bus_attach()
2021-08-26 08:37:26 -04:00
dpt
esas2r
scsi: esas2r: unlock on error in esas2r_nvram_read_direct()
2020-01-23 08:19:42 +01:00
fcoe
This is the 4.9.337 stable release
2023-01-07 13:07:00 +01:00
fnic
scsi: fnic: Fix error return code in fnic_probe()
2020-12-29 13:44:59 +01:00
hisi_sas
scsi: hisi_sas: Set PHY linkrate when disconnected
2019-04-05 22:29:06 +02:00
ibmvscsi
scsi: ibmvfc: Set default timeout to avoid crash during migration
2021-02-10 09:09:24 +01:00
ibmvscsi_tgt
scsi: ibmvscsis: Increase INITIAL_SRP_LIMIT to 1024
2022-04-20 09:06:45 +02:00
isci
scsi: isci: Change sci_controller_start_task's return type to sci_status
2019-11-28 18:28:24 +01:00
libfc
scsi: libfc: Fix use after free in fc_exch_abts_resp()
2022-04-20 09:06:42 +02:00
libsas
scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands
2022-04-20 09:06:29 +02:00
lpfc
scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology
2022-06-25 11:45:17 +02:00
megaraid
scsi: megaraid_mm: Fix end of loop tests for list_for_each_entry()
2021-08-26 08:37:26 -04:00
mpt3sas
This is the 4.9.328 stable release
2022-09-20 15:24:09 +02:00
mvsas
scsi: mvsas: Add PCI ID of RocketRaid 2640
2022-04-20 09:06:45 +02:00
osd
pcmcia
pm8001
scsi: pm8001: Fix pm8001_mpi_task_abort_resp()
2022-04-20 09:06:42 +02:00
qla2xxx
scsi: qla2xxx: Fix missed DMA unmap for aborted commands
2022-05-25 08:39:50 +02:00
qla4xxx
scsi: qla4xxx: Fix an error handling path in 'qla4xxx_get_host_stats()'
2020-10-29 09:05:34 +01:00
smartpqi
scsi: smartpqi: properly set both the DMA mask and the coherent DMA mask
2019-06-22 08:17:24 +02:00
snic
scsi: snic: Fix possible UAF in snic_tgt_create()
2023-01-07 12:07:23 +01:00
sym53c8xx_2
scsi: sym53c8xx: fix NULL pointer dereference panic in sym_int_sir()
2019-11-25 09:52:13 +01:00
ufs
treewide: Backport new vmalloc for large performance benefits
2026-05-15 17:48:25 +07:00
.gitignore
3w-9xxx.c
scsi: 3w-9xxx: Avoid disabling device if failing to enable it
2022-10-26 13:15:47 +02:00
3w-9xxx.h
3w-sas.c
scsi: 3ware: fix return 0 on the error path of probe
2018-09-19 22:47:14 +02:00
3w-sas.h
3w-xxxx.c
scsi: 3ware: fix return 0 on the error path of probe
2018-09-19 22:47:14 +02:00
3w-xxxx.h
53c700.c
53c700.h
53c700.scr
53c700_d.h_shipped
a100u2w.c
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
a4000t.c
advansys.c
scsi: advansys: Fix kernel pointer leak
2021-11-26 11:48:40 +01:00
aha152x.c
scsi: aha152x: Fix aha152x_setup() __setup handler return value
2022-04-20 09:06:42 +02:00
aha152x.h
aha1542.c
aha1542.h
aha1740.c
aha1740.h
am53c974.c
atari_scsi.c
scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE
2020-01-04 13:40:54 +01:00
atp870u.c
atp870u.h
BusLogic.c
scsi: BusLogic: Fix missing pr_cont() use
2021-09-22 11:43:08 +02:00
BusLogic.h
scsi: BusLogic: Fix 64-bit system enumeration error for Buslogic
2021-06-03 08:23:31 +02:00
bvme6000_scsi.c
ch.c
constants.c
dc395x.c
scsi: dc395x: Fix a missing check on list iterator
2022-06-14 16:52:34 +02:00
dc395x.h
dmx3191d.c
dpt_i2o.c
dpti.h
eata.c
eata_generic.h
eata_pio.c
eata_pio.h
esp_scsi.c
scsi: esp_scsi: Track residual for PIO transfers
2018-11-13 11:16:51 -08:00
esp_scsi.h
scsi: esp_scsi: Track residual for PIO transfers
2018-11-13 11:16:51 -08:00
fdomain.c
fdomain.h
FlashPoint.c
scsi: FlashPoint: Rename si_flags field
2021-07-20 16:21:04 +02:00
g_NCR5380.c
g_NCR5380.h
g_NCR5380_mmio.c
gdth.c
gdth.h
block: Move SECTOR_SIZE and SECTOR_SHIFT definitions into <linux/blkdev.h>
2020-09-12 11:47:36 +02:00
gdth_ioctl.h
gdth_proc.c
gdth_proc.h
gvp11.c
gvp11.h
hosts.c
scsi: core: Fix bad pointer dereference when ehandler kthread is invalid
2021-07-20 16:21:10 +02:00
hpsa.c
scsi: hpsa: Fix possible memory leak in hpsa_add_sas_device()
2023-01-07 12:07:23 +01:00
hpsa.h
scsi: hpsa: limit outstanding rescans
2017-12-20 10:07:22 +01:00
hpsa_cmd.h
scsi: hpsa: correct ioaccel2 chaining
2019-07-10 09:55:43 +02:00
hptiop.c
hptiop.h
imm.c
imm.h
initio.c
initio.h
ipr.c
scsi: ipr: Fix WARNING in ipr_init()
2023-01-07 12:07:23 +01:00
ipr.h
scsi: ipr: Fix softlockup when rescanning devices in petitboot
2020-04-02 17:20:32 +02:00
ips.c
scsi: ips: fix missing break in switch
2019-11-28 18:28:23 +01:00
ips.h
iscsi_boot_sysfs.c
scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj
2020-06-30 15:38:28 -04:00
iscsi_tcp.c
scsi: iscsi: Don't destroy session if there are outstanding connections
2020-02-28 15:42:34 +01:00
iscsi_tcp.h
jazz_esp.c
scsi: jazz_esp: Add IRQ check
2021-05-22 10:40:25 +02:00
Kconfig
scsi: fix kconfig dependency warning related to 53C700_LE_ON_BE
2019-11-10 11:23:15 +01:00
lasi700.c
libiscsi.c
scsi: libiscsi: Fix UAF in iscsi_conn_get_param()/iscsi_conn_teardown()
2022-01-11 13:38:12 +01:00
libiscsi_tcp.c
mac53c94.c
mac53c94.h
mac_esp.c
scsi: esp_scsi: Track residual for PIO transfers
2018-11-13 11:16:51 -08:00
mac_scsi.c
scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE
2020-01-04 13:40:54 +01:00
Makefile
megaraid.c
scsi: megaraid: Fix error check return value of register_chrdev()
2022-06-14 16:52:29 +02:00
megaraid.h
mesh.c
scsi: mesh: Fix panic after host or bus reset
2020-08-21 11:02:02 +02:00
mesh.h
mvme16x_scsi.c
mvme147.c
mvme147.h
mvumi.c
scsi: mvumi: Fix error return in mvumi_io_attach()
2020-10-29 09:05:43 +01:00
mvumi.h
ncr53c8xx.c
ncr53c8xx.h
NCR53c406a.c
NCR5380.c
scsi: NCR5380: Handle BUS FREE during reselection
2019-11-25 09:53:05 +01:00
NCR5380.h
NCR_D700.c
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32.c
nsp32.h
nsp32_debug.c
nsp32_io.h
osst.c
osst.h
osst_detect.h
osst_options.h
pmcraid.c
pmcraid.h
ppa.c
ppa.h
ps3rom.c
qla1280.c
qla1280.h
qlogicfas.c
qlogicfas408.c
qlogicfas408.h
qlogicpti.c
qlogicpti.h
raid_class.c
script_asm.pl
scsi.c
scsi: core: Put LLD module refcnt after SCSI device is released
2021-11-12 13:18:01 +01:00
scsi.h
scsi_common.c
scsi_debug.c
scsi: scsi_debug: Sanity check block descriptor length in resp_mode_select()
2021-12-22 09:05:15 +01:00
scsi_devinfo.c
scsi: scsi_devinfo: handle non-terminated strings
2020-06-30 15:38:37 -04:00
scsi_dh.c
scsi: core: add new RDAC LENOVO/DE_Series device
2019-05-08 07:19:10 +02:00
scsi_error.c
scsi_ioctl.c
scsi_lib.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
scsi_lib_dma.c
scsi_logging.c
scsi: core: Reduce memory required for SCSI logging
2019-10-07 18:53:15 +02:00
scsi_logging.h
scsi_module.c
scsi_netlink.c
scsi_pm.c
Merge android-4.9.152 ( fd37e28) into msm-4.9
2019-02-12 12:05:12 +08:00
scsi_priv.h
scsi_proc.c
scsi_sas_internal.h
scsi_scan.c
Merge remote-tracking branch 'common/android-4.9-q' into lineage-18.1-caf-sdm845
2021-09-16 19:05:49 +03:00
scsi_sysctl.c
scsi_sysfs.c
Merge remote-tracking branch 'common/android-4.9-q' into lineage-18.1-caf-sdm845
2021-12-27 02:07:39 +02:00
scsi_trace.c
scsi: core: scsi_trace: Use get_unaligned_be*()
2020-01-23 08:19:43 +01:00
scsi_transport_api.h
scsi_transport_fc.c
scsi_transport_iscsi.c
scsi: iscsi: Unblock session then wake up error handler
2021-12-08 08:45:05 +01:00
scsi_transport_sas.c
scsi_transport_spi.c
scsi: scsi_transport_spi: Fix function pointer check
2020-07-31 16:44:01 +02:00
scsi_transport_srp.c
scsi: scsi_transport_srp: Fix shost to rport translation
2018-06-06 16:44:38 +02:00
scsi_typedefs.h
scsicam.c
sd.c
Merge remote-tracking branch 'common/android-4.9-q' into lineage-18.1-caf-sdm845
2021-10-19 16:05:50 +03:00
sd.h
sd_dif.c
sense_codes.h
ses.c
scsi: ses: Fix unsigned comparison with less than zero
2021-10-17 10:05:40 +02:00
sg.c
Merge remote-tracking branch 'common/android-4.9-q' into android12-4.9-sdm845
2022-09-06 06:20:26 +03:00
sgiwd93.c
sim710.c
sni_53c710.c
scsi: sni_53c710: Add IRQ check
2021-05-22 10:40:26 +02:00
sr.c
scsi: sr: Don't use GFP_DMA
2022-01-27 08:47:40 +01:00
sr.h
sr_ioctl.c
sr: pass down correctly sized SCSI sense buffer
2018-12-13 09:20:29 +01:00
sr_vendor.c
scsi: sr: Don't use GFP_DMA
2022-01-27 08:47:40 +01:00
st.c
scsi: st: Fix a use after free in st_open()
2021-04-07 12:05:39 +02:00
st.h
st_options.h
stex.c
scsi: stex: Properly zero out the passthrough command structure
2022-10-26 13:15:35 +02:00
storvsc_drv.c
scsi: storvsc: Fix calculation of sub-channel count
2019-05-08 07:19:10 +02:00
sun3_scsi.c
scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE
2020-01-04 13:40:54 +01:00
sun3_scsi.h
sun3_scsi_vme.c
sun3x_esp.c
scsi: sun3x_esp: Add IRQ check
2021-05-22 10:40:26 +02:00
sun_esp.c
sym53c416.c
sym53c416.h
virtio_scsi.c
scsi: virtio_scsi: Fix spelling mistake "Unsupport" -> "Unsupported"
2021-10-17 10:05:40 +02:00
vmw_pvscsi.c
scsi: vmw_pvscsi: Set residual data length conditionally
2022-01-05 12:31:25 +01:00
vmw_pvscsi.h
scsi: vmw_pvscsi: Expand vcpuHint to 16 bits
2022-06-25 11:45:17 +02:00
wd33c93.c
wd33c93.h
wd719x.c
wd719x.h
xen-scsifront.c
xen/scsifront: don't use gnttab_query_foreign_access() for mapped status
2022-03-11 10:03:32 +01:00
zalon.c
zorro7xx.c
scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one()
2022-04-20 09:06:43 +02:00