diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2024-01-18 15:01:28 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2024-01-18 15:01:28 -0800 |
commit | e7ded27593bf0aff08d18258251e3de0a2697f47 (patch) | |
tree | 183225b3019d1e2db5bb34c670d5e8b0e9c6ea4f /mm | |
parent | 24f3a63e1fc36d5d240c1b3973c75618c20cf458 (diff) | |
parent | 6b9f29b81b155af023da95f560f738f29722b306 (diff) | |
download | linux-e7ded27593bf0aff08d18258251e3de0a2697f47.tar.gz linux-e7ded27593bf0aff08d18258251e3de0a2697f47.tar.bz2 linux-e7ded27593bf0aff08d18258251e3de0a2697f47.zip |
Merge tag 'percpu-for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu
Pull percpu updates from Dennis Zhou:
"Enable percpu page allocator for RISC-V.
There are RISC-V configurations with sparse NUMA configurations and
small vmalloc space causing dynamic percpu allocations to fail as the
backing chunk stride is too far apart"
* tag 'percpu-for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu:
riscv: Enable pcpu page first chunk allocator
mm: Introduce flush_cache_vmap_early()
Diffstat (limited to 'mm')
-rw-r--r-- | mm/percpu.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/mm/percpu.c b/mm/percpu.c index 7b97d31df767..4e11fc1e6def 100644 --- a/mm/percpu.c +++ b/mm/percpu.c @@ -3333,13 +3333,7 @@ int __init pcpu_page_first_chunk(size_t reserved_size, pcpu_fc_cpu_to_node_fn_t if (rc < 0) panic("failed to map percpu area, err=%d\n", rc); - /* - * FIXME: Archs with virtual cache should flush local - * cache for the linear mapping here - something - * equivalent to flush_cache_vmap() on the local cpu. - * flush_cache_vmap() can't be used as most supporting - * data structures are not set up yet. - */ + flush_cache_vmap_early(unit_addr, unit_addr + ai->unit_size); /* copy static data */ memcpy((void *)unit_addr, __per_cpu_load, ai->static_size); |