DragonFly BSD
DragonFly kernel List (threaded) for 2013-03
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Google Summer of Code


From: Mohit Dhingra <mohitdhingras@xxxxxxxxx>
Date: Thu, 21 Mar 2013 13:08:26 +0530

--20cf307cfeccd58ead04d86a6d8c
Content-Type: text/plain; charset=ISO-8859-1

*Hi Venkatesh,*

Sorry for the incomplete mail. I wanted to say that the following project
also shares the same motivation of bringing down the total no. of VM exits.

* When running DragonFly as a guest on KVM, we take a lot of VM exits,
  particularly to our host/VMM's APIC device. We could implement a
  kvmclock time source to avoid some timer exits and support for the
  paravirtualized EOI
(https://lwn.net/Articles/**502176/<https://lwn.net/Articles/502176/>)
in our platform
  code to cut down on VM exits.

Although the work would be different than the previous, but the ultimate
goal is the same. I was also wondering how it would be different for Xen as
a host, because paravirtualization in Xen and KVM is a bit different [1].
Also, under the umbrella of "Performance Analysis and Improvements of
DragonFly Guest by reducing the no. of exits", both of the projects can be
implemented. Kindly let me know your view. Also, please point me to the
code references/documentation for the same.


References :
[1]
http://blog.xen.org/index.php/2012/10/31/the-paravirtualization-spectrum-part-2-from-poles-to-a-spectrum/


*
----------------------------
Thanks & Regards
Mohit Dhingra
+919611190435*


On 21 March 2013 12:58, Mohit Dhingra <mohitdhingras@gmail.com> wrote:

> *Hi Venkatesh,*
>
> Thanks for clarifications and support. I have been looking around for the
> problem of VM exits. I think the following project also shares the same
> motivation of bringing down the no. of VM exits
>
>
> *
> ----------------------------
> Thanks & Regards
> Mohit Dhingra
> +919611190435*
>
>
> On 21 March 2013 03:00, Venkatesh Srinivas <vsrinivas@ops101.org> wrote:
>
>> On Tue, Mar 05, 2013 at 03:15:12PM +0530, Mohit Dhingra wrote:
>>
>>> *Hi Venkatesh,*
>>>
>>>
>>> Thanks a lot for a nice explanatory mail!
>>>
>>> I found the second project quite interesting, just to repeat  --
>>> ** virtio-blk currently 'kicks' the host VMM directly from its
>>>   strategy() routine; it may make sense to defer this to a taskqueue.
>>> This
>>>   is a tiny change, but understanding the performance implications may
>>>   take a bit longer.
>>>
>>> As per my understanding, the notification to host through kick() involves
>>> the exit of the guest (as per attached paper). Hence, the aim for this
>>> project would also be to minimize the exits, or rather instantaneous
>>> exits.
>>> Deferring it to the task queue should definitely help. Other things that
>>> can be done in this project is batching of the buffers before kick() and
>>> dynamically deciding how many buffers can be batched together.
>>>
>>> Also, not all of the times deferring the 'kick' to taskqueue might not
>>> be a
>>> good idea. Finding those scenarios would be interesting where it helps,
>>> and
>>> where it is merely an overhead.
>>>
>>
>> Yep, your understanding is correct.
>> QEMU and friends generally try to handle batches of requests per-VMexit,
>> so sometimes (often) there are wins to deferred 'kicks'.
>> On Mon, Mar 11, 2013 at 09:42:08PM +0530, Mohit Dhingra wrote:
>>
>>>   Hi Venkatesh,
>>>   Will you be able to mentor this project? I actually wanted to get
>>>   some
>>>   more info and hands on before applying for GSoC project. Please also
>>>   check
>>>   the previous mail and my proposal.
>>>
>>
>> I'd be happy to mentor a project to work on performance of DFly under
>> virtualization (KVM or w/e), but this alone would be too small for a
>> full GSoC project, I think. Working on a few of the aspects I mentioned
>> earlier (or anything you come up with! very strongly encouraged!) would
>> be a better fit for a full project.
>>  Take care,
>> -- vs;
>>
>
>

--20cf307cfeccd58ead04d86a6d8c
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><b>Hi Venkatesh,</b><div><br></div><div>Sorry for the inco=
mplete mail. I wanted to say that the following project also shares the sam=
e motivation of bringing down the total no. of VM exits.=A0</div><div><br><=
/div>

<div><span style=3D"font-family:arial,sans-serif;font-size:13px">* When run=
ning DragonFly as a guest on KVM, we take a lot of VM exits,</span><br styl=
e=3D"font-family:arial,sans-serif;font-size:13px"><span style=3D"font-famil=
y:arial,sans-serif;font-size:13px">=A0 particularly to our host/VMM&#39;s A=
PIC device. We could implement a</span><br style=3D"font-family:arial,sans-=
serif;font-size:13px">

<span style=3D"font-family:arial,sans-serif;font-size:13px">=A0 kvmclock ti=
me source to avoid some timer exits and support for the</span><br style=3D"=
font-family:arial,sans-serif;font-size:13px"><span style=3D"font-family:ari=
al,sans-serif;font-size:13px">=A0 paravirtualized EOI (</span><a href=3D"ht=
tps://lwn.net/Articles/502176/" target=3D"_blank" style=3D"font-family:aria=
l,sans-serif;font-size:13px">https://lwn.net/Articles/<u></u>502176/</a><sp=
an style=3D"font-family:arial,sans-serif;font-size:13px">) in our platform<=
/span><br style=3D"font-family:arial,sans-serif;font-size:13px">

<span style=3D"font-family:arial,sans-serif;font-size:13px">=A0 code to cut=
 down on VM exits.</span><br style=3D"font-family:arial,sans-serif;font-siz=
e:13px"></div><div><br></div><div>Although the work would be different than=
 the previous, but the ultimate goal is the same. I was also wondering how =
it would be different for Xen as a host, because paravirtualization in Xen =
and KVM is a bit different [1]. Also, under the umbrella of &quot;Performan=
ce Analysis and Improvements of DragonFly Guest by reducing the no. of exit=
s&quot;, both of the projects can be implemented. Kindly let me know your v=
iew. Also, please point me to the code references/documentation for the sam=
e.</div>

<div><br></div><div><br></div><div>References :</div><div>[1]=A0<a href=3D"=
http://blog.xen.org/index.php/2012/10/31/the-paravirtualization-spectrum-pa=
rt-2-from-poles-to-a-spectrum/">http://blog.xen.org/index.php/2012/10/31/th=
e-paravirtualization-spectrum-part-2-from-poles-to-a-spectrum/</a><br>

</div><div><br></div><div><br></div><div class=3D"gmail_extra"><div><b><div=
><b>---------------------------- <br></b></div>Thanks &amp; Regards<br><fon=
t color=3D"#888888">Mohit Dhingra=A0<br>+919611190435</font></b></div>
<br><br><div class=3D"gmail_quote">On 21 March 2013 12:58, Mohit Dhingra <s=
pan dir=3D"ltr">&lt;<a href=3D"mailto:mohitdhingras@gmail.com"; target=3D"_b=
lank">mohitdhingras@gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D=
"gmail_quote" style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;ma=
rgin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);bo=
rder-left-style:solid;padding-left:1ex">

<div dir=3D"ltr"><b>Hi Venkatesh,</b><div><br></div><div>Thanks for clarifi=
cations and support. I have been looking around for the problem of VM exits=
. I think the following project also shares the same motivation of bringing=
 down the no. of VM exits=A0</div>


<div><br><div class=3D"gmail_extra"><div class=3D"im"><br clear=3D"all"><di=
v><b><div><b>---------------------------- <br></b></div>Thanks &amp; Regard=
s<br><font color=3D"#888888">Mohit Dhingra=A0<br>+919611190435</font></b></=
div>
<br><br></div><div><div class=3D"h5"><div class=3D"gmail_quote">On 21 March=
 2013 03:00, Venkatesh Srinivas <span dir=3D"ltr">&lt;<a href=3D"mailto:vsr=
inivas@ops101.org" target=3D"_blank">vsrinivas@ops101.org</a>&gt;</span> wr=
ote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin-top:0px;margin-right:0px;=
margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color=
:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
On Tue, Mar 05, 2013 at 03:15:12PM +0530, Mohit Dhingra wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin-top:0px;margin-right:0px;=
margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color=
:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
*Hi Venkatesh,*<div><br>
<br>
Thanks a lot for a nice explanatory mail!<br>
<br>
I found the second project quite interesting, just to repeat =A0--<br>
** virtio-blk currently &#39;kicks&#39; the host VMM directly from its<br>
=A0 strategy() routine; it may make sense to defer this to a taskqueue. Thi=
s<br>
=A0 is a tiny change, but understanding the performance implications may<br=
>
=A0 take a bit longer.<br>
<br>
As per my understanding, the notification to host through kick() involves<b=
r>
the exit of the guest (as per attached paper). Hence, the aim for this<br>
project would also be to minimize the exits, or rather instantaneous exits.=
<br>
Deferring it to the task queue should definitely help. Other things that<br=
>
can be done in this project is batching of the buffers before kick() and<br=
>
dynamically deciding how many buffers can be batched together.<br>
<br>
Also, not all of the times deferring the &#39;kick&#39; to taskqueue might =
not be a<br>
good idea. Finding those scenarios would be interesting where it helps, and=
<br>
where it is merely an overhead.<br>
</div></blockquote>
<br>
Yep, your understanding is correct. <br>
QEMU and friends generally try to handle batches of requests per-VMexit, so=
 sometimes (often) there are wins to deferred &#39;kicks&#39;. <br><div>
On Mon, Mar 11, 2013 at 09:42:08PM +0530, Mohit Dhingra wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin-top:0px;margin-right:0px;=
margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color=
:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
=A0 Hi Venkatesh,<br>
=A0 Will you be able to mentor this project? I actually wanted to get<br>
=A0 some<br>
=A0 more info and hands on before applying for GSoC project. Please also<br=
>
=A0 check<br>
=A0 the previous mail and my proposal.<br>
</blockquote>
<br></div>
I&#39;d be happy to mentor a project to work on performance of DFly under<b=
r>
virtualization (KVM or w/e), but this alone would be too small for a<br>
full GSoC project, I think. Working on a few of the aspects I mentioned<br>
earlier (or anything you come up with! very strongly encouraged!) would<br>
be a better fit for a full project.<br>
=A0Take care,<br>
-- vs;<br>
</blockquote></div><br></div></div></div></div></div>
</blockquote></div><br></div></div>

--20cf307cfeccd58ead04d86a6d8c--



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]