On Mon, Sep 16, 2019 at 9:23 AM Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> wrote: > > KVM needs to know if SMT is theoretically possible, this means it is > supported and not forcefully disabled ('nosmt=force'). Create and > export cpu_smt_possible() answering this question. It seems to me that KVM really just wants to know if the scheduler can be trusted to avoid violating the invariant expressed by the Hyper-V enlightenment, NoNonArchitecturalCoreSharing. It is possible to do that even when SMT is enabled, if the scheduler is core-aware. Wouldn't it be better to implement a scheduler API that told you exactly what you wanted to know, rather than trying to infer the answer from various breadcrumbs?