Re: [tip:x86/urgent] x86/mm/kmmio: Fix mmiotrace for page unaligned addresses

From: Peter Zijlstra
Date: Tue Dec 12 2017 - 09:51:26 EST


On Tue, Dec 12, 2017 at 09:47:05AM -0500, Ilia Mirkin wrote:
> > So this 'thing' has huge gaping SMP holes in.
>
> Sure does! Probably why the following happens when mmiotrace is enabled:
>
> void enable_mmiotrace(void)
> {
> mutex_lock(&mmiotrace_mutex);
> if (is_enabled())
> goto out;
>
> if (nommiotrace)
> pr_info("MMIO tracing disabled.\n");
> kmmio_init();
> enter_uniprocessor();

^^^^^

Ah! I completely missed that. OK, that makes it much less broken :-)

If I don't forget, I'll add some comments to this file to clarify that.

Thanks!

> spin_lock_irq(&trace_lock);
> atomic_inc(&mmiotrace_enabled);
> spin_unlock_irq(&trace_lock);
> pr_info("enabled.\n");
> out:
> mutex_unlock(&mmiotrace_mutex);
> }