No, as he points out in the article even a kernel call can change the virtual address space so even two threads of the same program may leak data. There's basically no known fix except to disable hyperthreading entirely.
It seems they are complex enough that the answer may be "never", at least for some high risk scenarios.
on kabylake & skylake this has been the recommendation anyway https://lists.debian.org/debian-devel/2017/06/msg00308.html
* https://www.mail-archive.com/source-changes@openbsd.org/msg9... (https://news.ycombinator.com/item?id=17350278)
It is time to rethinking the engineering methodologies we use in the electronics/informatics field.
http://3.bp.blogspot.com/-OyjQUpLowmg/Udz1_NxqNLI/AAAAAAAABV...