<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        font-family:"Calibri",sans-serif;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        font-family:"Calibri",sans-serif;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.externalclass, li.externalclass, div.externalclass
        {mso-style-name:externalclass;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.outlook-com-button, li.outlook-com-button, div.outlook-com-button
        {mso-style-name:outlook-com-button;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.h1, li.h1, div.h1
        {mso-style-name:h1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.h2, li.h2, div.h2
        {mso-style-name:h2;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.h3, li.h3, div.h3
        {mso-style-name:h3;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.outlook-com-hidden, li.outlook-com-hidden, div.outlook-com-hidden
        {mso-style-name:outlook-com-hidden;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.outlook-com-only, li.outlook-com-only, div.outlook-com-only
        {mso-style-name:outlook-com-only;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:1.0pt;
        font-family:"Calibri",sans-serif;
        display:none;}
p.ecxlabels, li.ecxlabels, div.ecxlabels
        {mso-style-name:ecxlabels;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.ecxarrow, li.ecxarrow, div.ecxarrow
        {mso-style-name:ecxarrow;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.outlook-com-button1, li.outlook-com-button1, div.outlook-com-button1
        {mso-style-name:outlook-com-button1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.outlook-com-hidden1, li.outlook-com-hidden1, div.outlook-com-hidden1
        {mso-style-name:outlook-com-hidden1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        display:none;}
p.outlook-com-only1, li.outlook-com-only1, div.outlook-com-only1
        {mso-style-name:outlook-com-only1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.ecxlabels1, li.ecxlabels1, div.ecxlabels1
        {mso-style-name:ecxlabels1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        display:none;}
p.ecxarrow1, li.ecxarrow1, div.ecxarrow1
        {mso-style-name:ecxarrow1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        display:none;}
p.h11, li.h11, div.h11
        {mso-style-name:h11;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.h21, li.h21, div.h21
        {mso-style-name:h21;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.h31, li.h31, div.h31
        {mso-style-name:h31;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.mso-border-outer, li.mso-border-outer, div.mso-border-outer
        {mso-style-name:mso-border-outer;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        background:#F5FFFF;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.mso-border-middle, li.mso-border-middle, div.mso-border-middle
        {mso-style-name:mso-border-middle;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        background:#DFF6FF;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.mso-border-inner, li.mso-border-inner, div.mso-border-inner
        {mso-style-name:mso-border-inner;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        background:#99B0E1;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.border-outer, li.border-outer, div.border-outer
        {mso-style-name:border-outer;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.border-middle, li.border-middle, div.border-middle
        {mso-style-name:border-middle;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.border-inner, li.border-inner, div.border-inner
        {mso-style-name:border-inner;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.outlook-com-button2, li.outlook-com-button2, div.outlook-com-button2
        {mso-style-name:outlook-com-button2;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.outlook-com-hidden2, li.outlook-com-hidden2, div.outlook-com-hidden2
        {mso-style-name:outlook-com-hidden2;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        display:none;}
p.outlook-com-only2, li.outlook-com-only2, div.outlook-com-only2
        {mso-style-name:outlook-com-only2;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:1.0pt;
        font-family:"Calibri",sans-serif;}
p.ecxlabels2, li.ecxlabels2, div.ecxlabels2
        {mso-style-name:ecxlabels2;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        display:none;}
p.ecxarrow2, li.ecxarrow2, div.ecxarrow2
        {mso-style-name:ecxarrow2;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        display:none;}
p.h12, li.h12, div.h12
        {mso-style-name:h12;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.h22, li.h22, div.h22
        {mso-style-name:h22;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.h32, li.h32, div.h32
        {mso-style-name:h32;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle51
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1027" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Hi Xu,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks for the links!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">KSM is a tricky subject. Memory sharing from KSM enables cross-VM side channels, so we have to be careful not to share memory across trust boundaries. VMs that share the same encryption key can take advantage of KSM between themselves,
 but not between other tenant VMs. Perhaps a compromise would be to use the same key for all VMs created on behalf of the same user in order to get some KSM benefit without the risk of disclosing information to untrusted tenant VMs.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’m not familiar with VM clone. Is there any documentation or source files I could browse to learn more?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">On the topic of trade-offs, there is also a small (1-6%) memory access latency due to the encryption. The worst case is 6% for latency-sensitive workloads (e.g. the SPECint mcf test), but the average latency overhead (measured across all
 SPECint tests) is ~1.4%. Pages that are marked as unencrypted in the guest page tables are unaffected.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I wasn’t able to join the call today, but I can join the next one if you like.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Sincerely,<o:p></o:p></p>
<p class="MsoNormal">Jesse<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Xu Wang [mailto:xu@hyper.sh] <br>
<b>Sent:</b> Wednesday, February 21, 2018 6:17 PM<br>
<b>To:</b> kata-dev@lists.katacontainers.io<br>
<b>Cc:</b> Larrew, Jesse <Jesse.Larrew@amd.com>; Hollingsworth, Brent <brent.hollingsworth@amd.com>; Kaplan, David <David.Kaplan@amd.com>; Woller, Thomas <thomas.woller@amd.com><br>
<b>Subject:</b> Re: [kata-dev] Kata with AMD Secure Encrypted Virtualization (SEV)<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100.0%">
<tbody>
<tr>
<td valign="top" style="padding:0in 0in 0in 0in">
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" style="padding:0in 0in 0in 0in">
<div>
<p class="MsoNormal">Hi Jesse,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">As Sebastien said, the memory encrypt is an exciting feature for VMs.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Based on the discuss of runtime merging proposal [1], the kata-runtime 1.0 will based on the runV <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">hypervisor drivers [2] and vm factory [3]. And we should consider if this should be enable on all qemu<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">based drivers if CPU supports this feature, or implemented as a new hypervisor which let users<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">decide.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Looks like, by enabling the memory encryption, we will get<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">- stronger isolation we want<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">- bigger memory footprint (vm clone and dax won't work, and ksm won't work as well?)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Will read the references in detail after today's meeting. Will you attend the online meeting[4], Jesse?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">[1] <a href="https://github.com/kata-containers/runtime/issues/33">https://github.com/kata-containers/runtime/issues/33</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[2] <a href="https://github.com/hyperhq/runv/tree/master/hypervisor">
https://github.com/hyperhq/runv/tree/master/hypervisor</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[3] <a href="https://github.com/hyperhq/runv/tree/master/factory">
https://github.com/hyperhq/runv/tree/master/factory</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[4] <a href="https://etherpad.openstack.org/p/katacontainers-2018-architecture-committee-mtgs">
https://etherpad.openstack.org/p/katacontainers-2018-architecture-committee-mtgs</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">-Xu<o:p></o:p></p>
</div>
<p class="MsoNormal"><img src="https://track.mixmax.com/api/track/v2/3FndH1zO4SHg5tYq3/gIoNnLyVGc5hGQ1hnI" align="left"><o:p></o:p></p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<div>
<div>
<p><o:p> </o:p></p>
<div>
<p><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Thu, Feb 22, 2018 6:48 AM, Larrew, Jesse <a href="mailto:Jesse.Larrew@amd.com" target="_blank">
Jesse.Larrew@amd.com</a> wrote:<o:p></o:p></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p>Hi Sebastien,<o:p></o:p></p>
<p><o:p> </o:p></p>
<p>Thanks for the pointer to the virtcontainers PR. I'll keep an eye on it as you suggested.<o:p></o:p></p>
<p><o:p> </o:p></p>
<p>That's interesting that you plan to use vanilla qemu for Kata Containers. Do you intend to upstream the "nofw" and "static-prt" accelerators from qemu-lite? Or will those optimizations be abandoned? They seem like a clever solution for reducing the guest
 boot time.<o:p></o:p></p>
<p><o:p> </o:p></p>
<p>Sincerely,<o:p></o:p></p>
<p>Jesse<o:p></o:p></p>
<p><o:p> </o:p></p>
<p>> -----Original Message-----<o:p></o:p></p>
<p>> From: Boeuf, Sebastien [<a href="mailto:sebastien.boeuf@intel.com">mailto:sebastien.boeuf@intel.com</a>]<o:p></o:p></p>
<p>> Sent: Wednesday, February 21, 2018 4:31 PM<o:p></o:p></p>
<p>> To: Larrew, Jesse <<a href="mailto:Jesse.Larrew@amd.com">Jesse.Larrew@amd.com</a>>; kata-<o:p></o:p></p>
<p>> <a href="mailto:dev@lists.katacontainers.io">dev@lists.katacontainers.io</a><o:p></o:p></p>
<p>> Cc: Hollingsworth, Brent <<a href="mailto:brent.hollingsworth@amd.com">brent.hollingsworth@amd.com</a>>; Kaplan, David<o:p></o:p></p>
<p>> <<a href="mailto:David.Kaplan@amd.com">David.Kaplan@amd.com</a>>; Woller, Thomas <<a href="mailto:thomas.woller@amd.com">thomas.woller@amd.com</a>><o:p></o:p></p>
<p>> Subject: RE: Kata with AMD Secure Encrypted Virtualization (SEV)<o:p></o:p></p>
<p>> <o:p></o:p></p>
<p>> Hi Jesse,<o:p></o:p></p>
<p>> <o:p></o:p></p>
<p>> This is very exciting that you have been able to get Clear Containers working<o:p></o:p></p>
<p>> with this new AMD technology. I am sure this is something Kata Containers<o:p></o:p></p>
<p>> will need since the goal of this project is to run virtualized and secure<o:p></o:p></p>
<p>> containers for any architecture able to do so. There are currently some<o:p></o:p></p>
<p>> discussions about using virtcontainers as the core API/library for Kata<o:p></o:p></p>
<p>> Containers runtime, and as an example of the way you could contribute to<o:p></o:p></p>
<p>> this, here is the link to the recent PR that has been raised to bring simple<o:p></o:p></p>
<p>> support for ARM architecture (through Qemu):<o:p></o:p></p>
<p>> <a href="https://github.com/containers/virtcontainers/pull/614">https://github.com/containers/virtcontainers/pull/614</a><o:p></o:p></p>
<p>> <o:p></o:p></p>
<p>> If it gets confirmed that virtcontainers will become part of the Kata<o:p></o:p></p>
<p>> Containers runtime, then I would suggest that you could raise a similar PR in<o:p></o:p></p>
<p>> order to support AMD.<o:p></o:p></p>
<p>> <o:p></o:p></p>
<p>> Don't forget to add some documentation about constraints and limitations<o:p></o:p></p>
<p>> for users that might want to use your AMD support, especially regarding the<o:p></o:p></p>
<p>> host kernel version. As long as you manage to get the Qemu patches merged<o:p></o:p></p>
<p>> into upstream, everything will be fine since the goal is to rely on a vanilla<o:p></o:p></p>
<p>> version of Qemu for Kata.<o:p></o:p></p>
<p>> <o:p></o:p></p>
<p>> Thanks,<o:p></o:p></p>
<p>> Sebastien<o:p></o:p></p>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>