It's a cache coherency problem, I think. It's been known about for ages. Applications can access data from other processes in the processor's cache. You don't even need elevated privileges to do it. I can't remember if you need to be running on the same core as the previous process. I've no idea what the workaround is, but I'm guessing that Windows will have to clear the cache before it switches processes. This will also flush data that is not stale from the cache. Linux will also have to do it. The statement that Intel have just released the information is laughable. Basically, allocate a block of memory but don't initialise it. Then read it and see what you get. Simples. "Look inside", as Intel says. Maybe the kernel will have to clear all allocated memory. That would explain the 30% overhead.
'Sir, please,' she said ... 'Will you not share your wisdom with us?'
'I have no wisdom,' he told her.
'Your experiences, then?'
'They have been trivial, uninteresting, and full of error.'
Iain M. Banks -- Feersum Endjinn
Edited by micksharpe (Wed 03-Jan-18 19:25:58)