Commit "mm: send one IPI per CPU to TLB flush all entries after unmapping pages" added a trace_tlb_flush() while preemption was still enabled. This means that we'll access smp_processor_id() which in turn will get us quite a few warnings. Fix it by moving the trace to where the preemption is disabled, one line down. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> --- The diff is all lies: I've moved trace_tlb_flush() one line down rather than get_cpu() a line up ;) mm/rmap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/rmap.c b/mm/rmap.c index 30812e9..63ba46c 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -613,9 +613,10 @@ void try_to_unmap_flush(void) if (!tlb_ubc->flush_required) return; + cpu = get_cpu(); + trace_tlb_flush(TLB_REMOTE_SHOOTDOWN, -1UL); - cpu = get_cpu(); if (cpumask_test_cpu(cpu, &tlb_ubc->cpumask)) percpu_flush_tlb_batch_pages(&tlb_ubc->cpumask); -- 1.7.10.4 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>