[Spice-devel] Cross-device access in SPICE server

Yonit Halperin yhalperi at redhat.com
Tue Mar 6 13:33:31 PST 2012


On 03/05/2012 06:40 PM, Noel Van Hook wrote:
> On Sun, Mar 4, 2012 at 12:29 PM, Yonit Halperin<yhalperi at redhat.com>  wrote:
>> On 03/02/2012 09:06 PM, Noel Van Hook wrote:
>>>
>>> I was wondering if anyone had any experience or insight into a way for
>>> a worker in the server to get access to data from the other workers?
>>> Specifically I am looking into some optimization that would require a
>>> worker to have access to the surfaces stored in other workers.
>>> Is there an easy way for the worker threads to access the other
>>> workers?  I'm referring to the worker->surfaces[] array in
>>> red_worker.c
>>>
>>> Thanks,
>>> Noel
>>>
>>
>> Hi,
>>
>> Currently the different workers share the pixmaps' cache (and also the glz
>> dictionary). I.e., if an image is in use in more than one device, it will be
>> sent to the client only once and will enter the shared cache.
>> The surfaces themselves are not shared, but we plan to change the driver to
>> use only one device for multiple monitors, and then maybe this will change.
>> Can you be more specific about what you are trying to achieve? This will
>> help to give you more details.
>
> We are trying to me the X driver XRandR compliant in such a way that
> we don't break other drivers (such as the Windows driver).
> We can collect all the heads together and make them look like a single
> device, but copy operations that go from one device to the other give
> us problems. Currently we are trying to modify the server to be able
> to access a source surface which is located on another device.
>
Note that making the surfaces accessible from all workers (or display 
channels in the client side) is not enough, You should also be careful 
with synchronizing the workers: If you have a qxl-1 command that access 
surface S on qxl-2, all qxl-2 commands that preceded this qxl-1 command 
(and modified the corresponding are on surface S), should be executed 
before this qxl-1 command.

Yonit.
> Noel
>
>



More information about the Spice-devel mailing list