** Changed in: linux-azure-edge (Ubuntu Xenial)
       Status: In Progress => Fix Committed

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1745247

Title:
  [Hyper-V] x86/hyperv: Stop suppressing X86_FEATURE_PCID

Status in Linux:
  Confirmed
Status in linux package in Ubuntu:
  New
Status in linux-azure package in Ubuntu:
  New
Status in linux-azure-edge package in Ubuntu:
  New
Status in linux source package in Trusty:
  Invalid
Status in linux source package in Xenial:
  Invalid
Status in linux-azure source package in Xenial:
  Fix Committed
Status in linux-azure-edge source package in Xenial:
  Fix Committed
Status in linux source package in Artful:
  Invalid

Bug description:
  Anywhere where Meltdown fixes have gone in have likely also picked up
  upstream work on TLB flushes. This is an important performance change.

  x86/hyperv: Stop suppressing X86_FEATURE_PCIDx86/hyperv

  When hypercall-based TLB flush was enabled for Hyper-V guests PCID feature
  was deliberately suppressed as a precaution: back then PCID was never
  exposed to Hyper-V guests and it wasn't clear what will happen if some day
  it becomes available. The day came and PCID/INVPCID features are already
  exposed on certain Hyper-V hosts.

  From TLFS (as of 5.0b) it is unclear how TLB flush hypercalls combine with
  PCID. In particular the usage of PCID is per-cpu based: the same mm gets
  different CR3 values on different CPUs. If the hypercall does exact
  matching this will fail. However, this is not the case. David Zhang
  explains:

   "In practice, the AddressSpace argument is ignored on any VM that supports
    PCIDs.

    Architecturally, the AddressSpace argument must match the CR3 with PCID
    bits stripped out (i.e., the low 12 bits of AddressSpace should be 0 in
    long mode). The flush hypercalls flush all PCIDs for the specified
    AddressSpace."

  With this, PCID can be enabled.

  Upstream commit link:
  
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=04651dd978a8749e59065df14b970a127f219ac2

To manage notifications about this bug go to:
https://bugs.launchpad.net/linux/+bug/1745247/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to