Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
msm: kgsl: Use lock-less list for page pools
Page pool additions and removals are very hot during GPU workloads, so they should be optimized accordingly. We can use a lock-less list for storing the free pages in order to speed things up. The lock-less list allows for one llist_del_first() user and unlimited llist_add() users to run concurrently, so only a spin lock around the llist_del_first() is needed; everything else is lock-free. The per-pool page count is now an atomic to make it lock-free as well. Signed-off-by: Sultan Alsawaf <[email protected]> [jjpprrrr: adapted _kgsl_pool_get_page() because k4.9 does not update vmstat counter for memory held in pools] Signed-off-by: Chenyang Zhong <[email protected]>
- Loading branch information