[RFC] PPC: MPIC: necessary readback after EOI?
Purcareata Bogdan
b43198 at freescale.com
Tue Jan 6 01:14:37 AEDT 2015
Hello,
While doing some performance testing of a KVM guest on a PPC platform, I
noticed that there's a read of the CPU_WHOAMI register after each MPIC
EOI [1]. This has been present since the initial implementation of the
MPIC driver [2]. In a KVM virtualized environment, this results in an
additional kvm_exit.
Is the read back necessary? Is it used to provide some sort of
synchronization mechanism, making sure that nothing else is executed
until the EOI write is finished? I eliminated the mpic_cpu_read call and
run the kernel on hardware and noticed no anomaly, however I am not sure
of all the implications and race conditions it might lead to.
I was curious why the mpic_cpu_read(MPIC_INFO(CPU_WHOAMI)) was there in
the first place and if it's still needed. If it's still required, I
guess a better approach is to eliminate the call only if the kernel is
running on the KVM guest side, where the MPIC is emulated and no longer
requires a readback.
Thank you,
Bogdan P.
[1] http://lxr.free-electrons.com/source/arch/powerpc/sysdev/mpic.c#L659
[2] https://lkml.org/lkml/2004/10/22/483
More information about the Linuxppc-dev
mailing list