On 3/1/19 4:47 PM, speck for Thomas Gleixner wrote: > Provide a inline function with the assembly magic. The argument of the VERW > instruction must be a memory operand as documented: > > "MD_CLEAR enumerates that the memory-operand variant of VERW (for > example, VERW m16) has been extended to also overwrite buffers affected > by MDS. This buffer overwriting functionality is not guaranteed for the > register operand variant of VERW." > > Documentation also recommends to use a writable data segment selector: > > "The buffer overwriting occurs regardless of the result of the VERW > permission check, as well as when the selector is null or causes a > descriptor load segment violation. However, for lowest latency we > recommend using a selector that indicates a valid writable data > segment." Note that we raised this again with Intel last week amid Andrew's results and they are going to get back to us if this guidance changes as a result of further measurements on their end. It's a few cycles difference in the Coffeelake case, but it could always be higher. Jon. -- Computer Architect | Sent with my Fedora powered laptop