Re:CPU Introspection: Intel Load Port Snooping
by bertr4nd on Monday December 30, 2019 @07:32AM
(#21912894)
CPUs issue instructions through a few ports, each of which services a set of instruction types (eg, arithmetic, memory load/store, vector instructions, etc.). For example here are Skylake’s ports: https://en.wikichip.org/wiki/intel/microarchitectures/skylak...
So getting a trace from the load ports is basically a trace of all memory accesses in the system. Something particularly cool about this work is that you can even see loads that are hidden from software, like a hardware page table walk.
Re:CPU Introspection: Intel Load Port Snooping
by gamozolabs on Monday December 30, 2019 @09:19AM
(#21913462)
Sorry about that. This blog kinda just hopped into the meat of it as I was trying to keep it short. It's largely a followup to a previous blog of mine https://gamozolabs.github.io/metrology/2019/08/19/sushi_roll... where I go into the details and descriptions.
Could anyone help explain, in a few sentences, what is a Load Port, and why is it interesting in this context?
It appears to be some type of indicator of the proportional time slice given to certain opaque internal processes which are not normally visible to users.