diff options
| author | Uladzislau Rezki (Sony) <[email protected]> | 2020-05-25 21:47:52 +0000 |
|---|---|---|
| committer | Paul E. McKenney <[email protected]> | 2020-06-29 18:59:25 +0000 |
| commit | 53c72b590b3a0afd6747d6f7957e6838003e90a4 (patch) | |
| tree | 69d08c3d0302de8db65119df79246e94af25972c /lib/test_vmalloc.c | |
| parent | rcu/tree: Use static initializer for krc.lock (diff) | |
| download | kernel-53c72b590b3a0afd6747d6f7957e6838003e90a4.tar.gz kernel-53c72b590b3a0afd6747d6f7957e6838003e90a4.zip | |
rcu/tree: cache specified number of objects
In order to reduce the dynamic need for pages in kfree_rcu(),
pre-allocate a configurable number of pages per CPU and link
them in a list. When kfree_rcu() reclaims objects, the object's
container page is cached into a list instead of being released
to the low-level page allocator.
Such an approach provides O(1) access to free pages while also
reducing the number of requests to the page allocator. It also
makes the kfree_rcu() code to have free pages available during
a low memory condition.
A read-only sysfs parameter (rcu_min_cached_objs) reflects the
minimum number of allowed cached pages per CPU.
Signed-off-by: Uladzislau Rezki (Sony) <[email protected]>
Signed-off-by: Paul E. McKenney <[email protected]>
Diffstat (limited to 'lib/test_vmalloc.c')
0 files changed, 0 insertions, 0 deletions
