public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* kshmem & ACE
@ 2007-05-07  2:23 Wink Saville
       [not found] ` <d4cf37a60705061923h4e4a033dq61da6e13bc126caf-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Wink Saville @ 2007-05-07  2:23 UTC (permalink / raw)
  To: kvm-devel

Hello,

I've posted patches for two features, kernel shared memory and Atomic Code
Execution, which I believe can be used to implement para-virtualized devices.
Could someone recommend a device that might make a good proof
of concept? I was thinking may be a block device.

Any suggestions and additional comments would be helpful.

Thanks,

Wink Saville

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: kshmem & ACE
       [not found] ` <d4cf37a60705061923h4e4a033dq61da6e13bc126caf-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2007-05-07  7:03   ` Dor Laor
       [not found]     ` <64F9B87B6B770947A9F8391472E032160BA96969-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
  2007-05-07 10:26   ` Avi Kivity
  1 sibling, 1 reply; 8+ messages in thread
From: Dor Laor @ 2007-05-07  7:03 UTC (permalink / raw)
  To: Wink Saville, kvm-devel

>Hello,
>
>I've posted patches for two features, kernel shared memory and Atomic
Code
>Execution, which I believe can be used to implement para-virtualized
>devices.
>Could someone recommend a device that might make a good proof
>of concept? I was thinking may be a block device.

The KVM has an unmerged PV block device developed by Arjan van de Ven,
he might be interested.

>
>Any suggestions and additional comments would be helpful.

In general IMHO if the PV devices {net, block} are implemented in the
kernel then they cannot enjoy from the shared memory. If these devices
are implemented in user space the chances are bigger, although the guest
memory is mapped by user space anyway.

Maybe you can build a very efficient inter guest communication channel?

>
>Thanks,
>
>Wink Saville
>
>-----------------------------------------------------------------------
--
>This SF.net email is sponsored by DB2 Express
>Download DB2 Express C - the FREE version of DB2 express and take
>control of your XML. No limits. Just data. Click to get it now.
>http://sourceforge.net/powerbar/db2/
>_______________________________________________
>kvm-devel mailing list
>kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
>https://lists.sourceforge.net/lists/listinfo/kvm-devel

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: kshmem & ACE
       [not found] ` <d4cf37a60705061923h4e4a033dq61da6e13bc126caf-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  2007-05-07  7:03   ` Dor Laor
@ 2007-05-07 10:26   ` Avi Kivity
       [not found]     ` <463EFEE9.8050602-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
  1 sibling, 1 reply; 8+ messages in thread
From: Avi Kivity @ 2007-05-07 10:26 UTC (permalink / raw)
  To: Wink Saville; +Cc: kvm-devel

Wink Saville wrote:
> Hello,
>
> I've posted patches for two features, kernel shared memory and Atomic Code
> Execution, which I believe can be used to implement para-virtualized devices.
> Could someone recommend a device that might make a good proof
> of concept? I was thinking may be a block device.
>
> Any suggestions and additional comments would be helpful.
>
>   

Most paravirtual devices use atomic operations (or even just raw memory 
accesses and memory barriers), which don't need any special 
infrastructure.  This effectively makes them message-passing protocols 
rather than shared memory protocol.  I can't see offhand why sharing 
data structures would bring a great improvement, but maybe I'm tied to 
the old way of thinking.

-- 
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: kshmem & ACE
       [not found]     ` <64F9B87B6B770947A9F8391472E032160BA96969-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
@ 2007-05-07 14:30       ` Anthony Liguori
       [not found]         ` <463F3815.9000807-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
  2007-05-07 15:52       ` Wink Saville
  1 sibling, 1 reply; 8+ messages in thread
From: Anthony Liguori @ 2007-05-07 14:30 UTC (permalink / raw)
  To: Dor Laor; +Cc: kvm-devel

Dor Laor wrote:
>> Hello,
>>
>> I've posted patches for two features, kernel shared memory and Atomic
>>     
> Code
>   
>> Execution, which I believe can be used to implement para-virtualized
>> devices.
>> Could someone recommend a device that might make a good proof
>> of concept? I was thinking may be a block device.
>>     
>
> The KVM has an unmerged PV block device developed by Arjan van de Ven,
> he might be interested.
>
>   
>> Any suggestions and additional comments would be helpful.
>>     
>
> In general IMHO if the PV devices {net, block} are implemented in the
> kernel then they cannot enjoy from the shared memory. If these devices
>   

The emulated block devices already have "shared memory" with the guest 
in the form of DMA since the guest's physical memory is mapped in the 
host's va space.

An interesting PoC may be something akin to XenSocket.  See 
http://www.xensource.com/files/xensummit_4/SuzanneMcIntosh_XenSummit_2007.pdf

Regards,

Anthony Liguori

> are implemented in user space the chances are bigger, although the guest
> memory is mapped by user space anyway.
>
> Maybe you can build a very efficient inter guest communication channel?
>
>   
>> Thanks,
>>
>> Wink Saville
>>
>> -----------------------------------------------------------------------
>>     
> --
>   
>> This SF.net email is sponsored by DB2 Express
>> Download DB2 Express C - the FREE version of DB2 express and take
>> control of your XML. No limits. Just data. Click to get it now.
>> http://sourceforge.net/powerbar/db2/
>> _______________________________________________
>> kvm-devel mailing list
>> kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
>> https://lists.sourceforge.net/lists/listinfo/kvm-devel
>>     
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> kvm-devel mailing list
> kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> https://lists.sourceforge.net/lists/listinfo/kvm-devel
>
>   


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: kshmem & ACE
       [not found]     ` <64F9B87B6B770947A9F8391472E032160BA96969-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
  2007-05-07 14:30       ` Anthony Liguori
@ 2007-05-07 15:52       ` Wink Saville
  1 sibling, 0 replies; 8+ messages in thread
From: Wink Saville @ 2007-05-07 15:52 UTC (permalink / raw)
  To: Dor Laor; +Cc: kvm-devel

On 5/7/07, Dor Laor <dor.laor-atKUWr5tajBWk0Htik3J/w@public.gmane.org> wrote:
>
> The KVM has an unmerged PV block device developed by Arjan van de Ven,
> he might be interested.

I would be very interested to see it, where is it if its "unmerged"? I'm sorry
but I'm new to this list.

>
> >
> >Any suggestions and additional comments would be helpful.
>
> In general IMHO if the PV devices {net, block} are implemented in the
> kernel then they cannot enjoy from the shared memory. If these devices
> are implemented in user space the chances are bigger, although the guest
> memory is mapped by user space anyway.
>
> Maybe you can build a very efficient inter guest communication channel?
>

Actually, I hope the technique I'm proposing might lead to an efficient
way of implementing user space devices/drivers. But that will likely be
in the far future:)

In the mean time this might be a way for a more efficient inter guest and
mechansim, we'll see.

Wink Saville

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: kshmem & ACE
       [not found]     ` <463EFEE9.8050602-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
@ 2007-05-07 15:57       ` Wink Saville
       [not found]         ` <d4cf37a60705070857v13a7e8abx3a51853cd0fddcb5-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Wink Saville @ 2007-05-07 15:57 UTC (permalink / raw)
  To: Avi Kivity; +Cc: kvm-devel

>
> Most paravirtual devices use atomic operations (or even just raw memory
> accesses and memory barriers), which don't need any special
> infrastructure.  This effectively makes them message-passing protocols
> rather than shared memory protocol.  I can't see offhand why sharing
> data structures would bring a great improvement, but maybe I'm tied to
> the old way of thinking.
>

One of the uses of kshmem/ACE will be an implementation of a message
passing technique that I hope to be quite general. Since this appears to
be a common technique then maybe there is nothing new in what I've done
which may make it redundant or may be a real contribution if it is more
general then current techniques.

Where might I find the current implementations of the PV devices?

Wink Saville

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: kshmem & ACE
       [not found]         ` <463F3815.9000807-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
@ 2007-05-07 16:08           ` Wink Saville
  0 siblings, 0 replies; 8+ messages in thread
From: Wink Saville @ 2007-05-07 16:08 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: kvm-devel

>
> The emulated block devices already have "shared memory" with the guest
> in the form of DMA since the guest's physical memory is mapped in the
> host's va space.
>
> An interesting PoC may be something akin to XenSocket.  See
> http://www.xensource.com/files/xensummit_4/SuzanneMcIntosh_XenSummit_2007.pdf
>
> Regards,
>
> Anthony Liguori
>

I took a quick look at the slides and it seems similar to the
technique I'm proposing
especially in the aspect of using messaging. One difference is that I
hope to not
require any copying of data if the communication is between trusted entities.

Thanks,

Wink Saville

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: kshmem & ACE
       [not found]         ` <d4cf37a60705070857v13a7e8abx3a51853cd0fddcb5-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2007-05-08  7:57           ` Avi Kivity
  0 siblings, 0 replies; 8+ messages in thread
From: Avi Kivity @ 2007-05-08  7:57 UTC (permalink / raw)
  To: Wink Saville; +Cc: kvm-devel

Wink Saville wrote:
>>
>> Most paravirtual devices use atomic operations (or even just raw memory
>> accesses and memory barriers), which don't need any special
>> infrastructure.  This effectively makes them message-passing protocols
>> rather than shared memory protocol.  I can't see offhand why sharing
>> data structures would bring a great improvement, but maybe I'm tied to
>> the old way of thinking.
>>
>
> One of the uses of kshmem/ACE will be an implementation of a message
> passing technique that I hope to be quite general. Since this appears to
> be a common technique then maybe there is nothing new in what I've done
> which may make it redundant or may be a real contribution if it is more
> general then current techniques.
>
> Where might I find the current implementations of the PV devices?
>

A good well-tuned example is the Xen paravirtualized drivers. See 
http://article.gmane.org/gmane.linux.kernel.virtualization/2659 for a 
driver, and 
http://article.gmane.org/gmane.linux.kernel.virtualization/2660 (ring.h) 
for the underlying machinery.


-- 
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2007-05-08  7:57 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-07  2:23 kshmem & ACE Wink Saville
     [not found] ` <d4cf37a60705061923h4e4a033dq61da6e13bc126caf-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-05-07  7:03   ` Dor Laor
     [not found]     ` <64F9B87B6B770947A9F8391472E032160BA96969-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-05-07 14:30       ` Anthony Liguori
     [not found]         ` <463F3815.9000807-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-05-07 16:08           ` Wink Saville
2007-05-07 15:52       ` Wink Saville
2007-05-07 10:26   ` Avi Kivity
     [not found]     ` <463EFEE9.8050602-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-07 15:57       ` Wink Saville
     [not found]         ` <d4cf37a60705070857v13a7e8abx3a51853cd0fddcb5-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-05-08  7:57           ` Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox