On Sun, 2018-10-14 at 20:34 +0200, Helge Deller wrote: > This patch adds the necessary code to patch a running SMP kernel > at runtime to improve performance when running on a single CPU. > > The current implementation offers two patching variants: > - Unwanted assembler statements like locking functions are > overwritten > with NOPs. When multiple instructions shall be skipped, one branch > instruction is used instead of multiple nop instructions. This seems like a good idea because our spinlocks are particularly heavyweight. > - Some pdtlb and pitlb instructions are patched to become pdtlb,l and > pitlb,l which only flushes the CPU-local tlb entries instead of > broadcasting the flush to other CPUs in the system and thus may > improve performance. I really don't think this matters: on a UP system, ptdlb,l and pdtlb are the same instruction because the CPU already knows is has no internal CPU bus to broadcast the purge over so it in effect executes a pdtlb,l regardless. James