Re: [RFC PATCH 6/7] mm: Remove vmalloc_sync_(un)mappings()

From: Steven Rostedt
Date: Fri May 08 2020 - 14:58:29 EST


On Fri, 8 May 2020 16:40:42 +0200
Joerg Roedel <joro@xxxxxxxxxx> wrote:

> From: Joerg Roedel <jroedel@xxxxxxx>
>
> These functions are not needed anymore because the vmalloc and ioremap
> mappings are now synchronized when they are created or teared down.
>
> Remove all callers and function definitions.
>
> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
>

You'll need to fold this into this patch, as my patch has already hit
Linus's tree.

But I applied your whole series and I'm not able to reproduce the bug.

Tested-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>

-- Steve

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 29615f15a820..1424a89193c6 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -8526,19 +8526,6 @@ static int allocate_trace_buffers(struct trace_array *tr, int size)
*/
allocate_snapshot = false;
#endif
-
- /*
- * Because of some magic with the way alloc_percpu() works on
- * x86_64, we need to synchronize the pgd of all the tables,
- * otherwise the trace events that happen in x86_64 page fault
- * handlers can't cope with accessing the chance that a
- * alloc_percpu()'d memory might be touched in the page fault trace
- * event. Oh, and we need to audit all other alloc_percpu() and vmalloc()
- * calls in tracing, because something might get triggered within a
- * page fault trace event!
- */
- vmalloc_sync_mappings();
-
return 0;
}