summaryrefslogtreecommitdiff
path: root/lwis_allocator.c
AgeCommit message (Collapse)Author
2023-06-13Remove unnecessary error logs from kmallocEdmond Chung
Bug: 286438999 Test: Build Change-Id: I02f0b13dd9f3b934eec345d98c61ef6e0e65fe5f Signed-off-by: Edmond Chung <edmondchung@google.com>
2023-06-07Allocator/Fence: Remove unnecessary error loggingEdmond Chung
It's rare for lwis_device to be NULL, so we just need to return but don't need to log to save on memory footprint. Bug: 286239787 Bug: 286249130 Test: Build Change-Id: Id336da1737067ad47258a0668309954778f68be2 Signed-off-by: Edmond Chung <edmondchung@google.com>
2023-04-27LWIS: Allow user input GFP flags for different use casesHolmes Chou
Extend LWIS recycling allocator to let users input GFP flags to make it suited for different use cases. Bug: 279671358 Test: GCA, CTS Change-Id: If0a96ce5a8889f2f77faa2e6ddd014c854a7782e Signed-off-by: Holmes Chou <holmeschou@google.com>
2023-03-08LWIS: Extend the allocator to support small size of memoryHolmes Chou
The current LWIS allocator does not cover the memory size less than 4096 bytes. We can extend it to support the small size of memory to make the allocator more flexible. Bug: 272180645 Test: GCA, CTS Change-Id: I02691f336bfa9e2d7d252bc2a2c82a5edc9a2b5c Signed-off-by: Holmes Chou <holmeschou@google.com>
2022-12-21LWIS: Add lock to protect lwis_dev->block_mgr accessingHolmes Chou
Add lock to protect lwis_dev->block_mgr accessing Bug: 239873326 Test: GCA, CTS Change-Id: I88787b47cbe83d78be4c09993bdb933a832183ea Signed-off-by: Holmes Chou <holmeschou@google.com>
2022-12-15Lwis: Using kernel functions to determine current context.linyuny
Bug: 176192392 Test: Pixel camera test checklist Change-Id: I673cef1fc161bd864fbc845d940425dbf5579f4b Signed-off-by: linyuny <linyuny@google.com>
2022-10-24LWIS: Use strscpy to replace strlcpyHolmes Chou
Kernel 5.15 add a new checking to prevent using strlcpy. Replace the strlcpy to use strscpy to prevent presubmit failed. Bug: 254847313 Test: GCA Signed-off-by: Holmes Chou <holmeschou@google.com> Change-Id: I5fd0bafc64fced91d571758e012a144c84bef0ab
2022-02-03Alloc: Replace kmalloc_index with flsEdmond Chung
fls has better performance profile than kmalloc_index Bug: 217768077 Test: GCA Signed-off-by: Edmond Chung <edmondchung@google.com> Change-Id: Iad105725e00f3e7b86ff032de07faa76f20a3681
2022-01-14LWIS: add refcount to fix multiple instancesHolmes Chou
Allocator is a device level structure, so we will need to properly refcount it for multiple clients. Bug: 214308675 Test: atest liblyric.silo_hardware_socs_whi_drivers_g3aa_test Signed-off-by: Holmes Chou <holmeschou@google.com> Change-Id: Iafd72660fa498373ed0f677e79c615e0d1c778cd
2022-01-11LWIS: Implement memory allocator for reuseHolmes Chou
Memory is allocated/deallocated at each IOCTL, transaction, etc., which could be a very costly operation. LWIS should have a memory allocator to help reuse memory buffer to reduce the number to allocations. Bug: 199428848 Test: GCA, CTS Signed-off-by: Holmes Chou <holmeschou@google.com> Change-Id: I2ed87bb01ddce54244c3f4adac89a045178097d8
2021-12-24Revert "LWIS: Implement memory allocator for reuse"Edmond Chung
This reverts commit 65c942bb710b2a16ff003b060b573a05fb2e80d1. Reason for revert: Kernel panic on kvfree Bug: 211924245 Signed-off-by: Edmond Chung <edmondchung@google.com> Change-Id: Ie35f48c81f8f43d0be1d0edf2cc79937276eef52
2021-12-22LWIS: Implement memory allocator for reuseHolmes Chou
Memory is allocated/deallocated at each IOCTL, transaction, etc., which could be a very costly operation. LWIS should have a memory allocator to help reuse memory buffer to reduce the number to allocations. Bug: 199428848 Test: GCA, CTS Signed-off-by: Holmes Chou <holmeschou@google.com> Change-Id: Ibd52cdf8974e18fc2855ec7883b2815f3cf0b966