What protects cpu_tlbstate?

From: Jeremy Fitzhardinge
Date: Thu Apr 05 2007 - 15:45:04 EST


Hi,

What protects the cpu_tlbstate? I see in i386/kernel/smp.c that its
always used in a non-preemptable area, but what prevents races with
interrupts? For example, what prevents leave_mm() called via the
flush_tlb_all IPI from racing with, say, enter_lazy_tlb? Couldn't a
race leave cpu_tlbstate in an inconsistent state?

Or does it simply not matter? But if that were true, it seems to me
that there should be at least some barriers or something to make sure
the final state is consistent.

Thanks,
J
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/