All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Artem Mygaiev <joculator@gmail.com>
Cc: Oleks Tysh <olekstysh@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	embedded-pv-devel@lists.xenproject.org,
	xen-devel@lists.xensource.com,
	Andrii Anisov <andrii.anisov@gmail.com>
Subject: Re: [RFC] Shared coprocessor framework
Date: Fri, 11 Nov 2016 15:43:37 -0500	[thread overview]
Message-ID: <20161111204337.GA2304@char.us.oracle.com> (raw)
In-Reply-To: <CAJwc6Kt5Y6QRJ2=moOgq0sL1dBmW-SBfcQ+AvsJWKwaUw2YmfA@mail.gmail.com>

On Tue, Nov 01, 2016 at 03:57:13PM +0200, Artem Mygaiev wrote:
> Let me explain a bit background of this work.
> 
> We see growing amount of use cases for different "co-processors" like
>  - GPUs (inside of most modern SoCs)
>  - low-power side CPU cores (like ARM Cortex M or R on board with
> Cortex A cores to handle PM or other tasks)
>  - DSPs (for example, TI C6000 family DSP core inside of Jacinto 6 SoC)
>  - FPGAs (Altera or Xilinx SoCs = ARM+FPGA)
> 
> These cores most often used standalone for some specific function, but
> quite often there is a need to "virtualize" such co-processor together
> with the main CPU cores. For example, they may be used in some
> virtualized heterogeneous computing environment so there shall be some
> sort of an independent "context" of a co-processor associated with a
> VM which interacts with it. In some cases, addressing security and
> stability requirements, "context" means not only "data" but also
> "code" (firmware); i.e. when VMs switch on main CPU, both code and
> data memory shall switch on co-processor.
> 
> Couple examples when VMs run on same SoC, both want to use some
> co-processor in data-intense tasks with different data sets and with
> different firmware images and ensure isolation (no data is leaked or
> code corrupted through co-processor's memory access) and stability
> (restart of one system does not lead to crash of another):
> 1. use GPU for GL rendering in one VM, another for NN state computing
> 2. use DSP for HW-accelerated media decoding, another for video image
> processing (object recognition, etc.)
> 

Thanks for the examples, they make it easier to grok what 'coprocessors'
mean. Thought still being a newbie to the ARM-land I have some extra
questions:

Does this also mean that the hypervisor has to know the co-processors?
As in how to start/stop them? And how to tell them to save/restore
guest context? Or is there some generic specification for doing this?


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  parent reply	other threads:[~2016-11-11 20:43 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-28 17:53 [RFC] Shared coprocessor framework Andrii Anisov
2016-10-28 18:38 ` Andrew Cooper
2016-10-31 19:31   ` Andrii Anisov
2016-11-01 13:57     ` Artem Mygaiev
2016-11-03 11:31       ` Andrii Anisov
2016-11-11 20:43       ` Konrad Rzeszutek Wilk [this message]
2016-11-12 12:04         ` Artem Mygaiev
2016-11-15 19:23           ` Konrad Rzeszutek Wilk
2016-11-16 13:42             ` Andrii Anisov
2016-11-16 12:39           ` Andrii Anisov
2016-11-22  1:50             ` Stefano Stabellini
2016-11-23 13:54               ` Andrii Anisov
2016-11-23 18:56                 ` Stefano Stabellini
2016-11-23 19:07                   ` Andrii Anisov
2016-11-23 19:23                   ` Andrii Anisov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161111204337.GA2304@char.us.oracle.com \
    --to=konrad.wilk@oracle.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=andrii.anisov@gmail.com \
    --cc=embedded-pv-devel@lists.xenproject.org \
    --cc=joculator@gmail.com \
    --cc=olekstysh@gmail.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.