qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Yi L" <yi.l.liu@intel.com>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"Lan, Tianyu" <tianyu.lan@intel.com>,
	"Tian, Kevin" <kevin.tian@intel.com>,
	"Peng, Chao P" <chao.p.peng@intel.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"Hao, Xudong" <xudong.hao@intel.com>,
	"Sun, Yi Y" <yi.y.sun@intel.com>, 'Peter Xu' <peterx@redhat.com>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	"Pan, Jacob jun" <jacob.jun.pan@intel.com>
Subject: Re: [Qemu-devel] [RFC Design Doc v3] Enable Shared Virtual Memory feature in pass-through scenarios
Date: Tue, 28 Feb 2017 17:07:19 -0500	[thread overview]
Message-ID: <20170228220719.GD2352@char.us.ORACLE.com> (raw)
In-Reply-To: <A2975661238FB949B60364EF0F2C257436DE3165@shsmsx102.ccr.corp.intel.com>

On Wed, Nov 30, 2016 at 08:49:24AM +0000, Liu, Yi L wrote:
> What's changed from v2:
> a) Detailed feature description
> b) refine description in "Address translation in virtual SVM"
> b) "Terms" is added
> 
> Content
> ===============================================
> 1. Feature description
> 2. Why use it?
> 3. How to enable it
> 4. How to test
> 5. Terms
> 
> Details
> ===============================================
> 1. Feature description
> Shared virtual memory(SVM) is to let application program share its virtual
> address with SVM capable devices. 
> 
> Shared virtual memory details:
> a) SVM feature requires ATS/PRQ/PASID support on both device side and
> IOMMU side.
> b) SVM capable devices could send DMA requests with PASID, the address
> in the request would be a virtual address within a program's virtual address
> space.
> c) IOMMU would use first level page table to translate the address in the
> request.
> d) First level page table is a HVA->HPA mapping on bare metal.
> 
> Shared Virtual Memory feature in pass-through scenarios is actually SVM
> virtualization. It is to let application programs(running in guest)share their
> virtual address with assigned device(e.g. graphics processors or accelerators).

I think I am missing something obvious, but the current way that DRM
works is that the kernel sets up its VA addresses for the GPU and it uses
that for its ring. It also setups an user level mapping for the GPU if the
application (Xorg) really wants it - but most of the time the kernel is
in charge of poking at the ring, and the memory that is shared with the
Xorg is normal RAM allocated via alloc_pages (see drivers/gpu/drm/ttm/ttm_page_alloc_dma.c
and drivers/gpu/drm/ttm/ttm_page_alloc.c).

So are talking about the guest applications having access to the 
ring of the GPU?

  reply	other threads:[~2017-02-28 22:07 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-30  8:49 [Qemu-devel] [RFC Design Doc v3] Enable Shared Virtual Memory feature in pass-through scenarios Liu, Yi L
2017-02-28 22:07 ` Konrad Rzeszutek Wilk [this message]
2017-03-01  6:51   ` Tian, Kevin
2017-03-01 21:09     ` Konrad Rzeszutek Wilk
2017-03-01 21:30       ` Raj, Ashok

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=20170228220719.GD2352@char.us.ORACLE.com \
    --to=konrad.wilk@oracle.com \
    --cc=chao.p.peng@intel.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jacob.jun.pan@intel.com \
    --cc=kevin.tian@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=tianyu.lan@intel.com \
    --cc=xudong.hao@intel.com \
    --cc=yi.l.liu@intel.com \
    --cc=yi.y.sun@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).