All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Song, Ruiling" <ruiling.song@intel.com>
To: Jesse Barnes <jbarnes@virtuousgeek.org>,
	"Weinehall, David" <david.weinehall@intel.com>
Cc: "Yang, Rong R" <rong.r.yang@intel.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	"beignet@lists.freedesktop.org" <beignet@lists.freedesktop.org>,
	Daniel Vetter <daniel@ffwll.ch>,
	"Vetter, Daniel" <daniel.vetter@intel.com>,
	"Zou, Nanhai" <nanhai.zou@intel.com>
Subject: Re: [Intel-gfx] Preventing zero GPU virtual address allocation
Date: Thu, 19 Mar 2015 03:22:42 +0000	[thread overview]
Message-ID: <148B1B7A67D1C24B9EF0BE42EA4977062B7F7BB2@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <5508449C.50705@virtuousgeek.org>


> Yeah, MAP_FIXED sounds a bit more ambitious and though I think it would
> work for OCL 2.0 pointer sharing, it's a little different than we were planning.
> To summarize, we have three possible approaches, each with its own
> problems:
>   1) simple patch to avoid binding at address 0 in PPGTT:
>      does impact the ABI (though generally not in a harmful way), and
>      may not be possible with aliasing PPGTT with e.g. framebuffers
>      bound at offset 0
>   2) exposing PIN_BIAS to userspace
>      Would allow userspace to avoid pinning any buffers at offset 0 at
>      execbuf time, but still has the problem with previously bound buffers
>      and aliasing PPGTT
>   3) MAP_FIXED interface
>      Flexible approach allowing userspace to manage its own virtual
>      memory, but still has the same issues with aliasing PPGTT, and with
>      shared contexts, which would have to negotiate between libraries
> how to
>      handle the zero page
> 
> For (1) and (2) the kernel pieces are really already in place, the main thing we
> need is a new flag to userspace to indicate behavior.  I'd prefer (1) with a
> context creation flag to indicate "don't bind at 0".
> Execbuf would try to honor this, and userspace could check if any buffers
> ended up at 0 in the aliasing PPGTT case by checking the resulting offsets
> following the call.  I expect in most cases this would be fine.
> 
> It should be pretty easy to extend Ruiling's patch to use a context flag to
> determine the behavior; is that something you can do?  Any objections to
> this approach?

I am ok with adding a context flag to indicate "don't bind at 0". Any objections from others?
The patch is not from me, it is from David. I am not familiar with KMD. David, could you help on this patch?

> It does mean that shared contexts need to be handled specially, or won't get
> the 0 page protection, but I think Mesa wants this behavior too, and libva
> probably wouldn't mind, so you could just require new versions of those that
> set this flag when telling people what's supported for proper NULL pointer
> handling.
> 
> Any objections to that approach?
> 
> Thanks,
> Jesse
_______________________________________________
Beignet mailing list
Beignet@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/beignet

  reply	other threads:[~2015-03-19  3:22 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-05  2:56 Preventing zero GPU virtual address allocation Song, Ruiling
2015-03-05 12:52 ` [Intel-gfx] " Daniel Vetter
2015-03-05 13:01   ` Chris Wilson
2015-03-05 15:27     ` [Intel-gfx] " Daniel Vetter
2015-03-05 21:07       ` Chris Wilson
2015-03-09 15:46         ` Jesse Barnes
2015-03-09 15:49           ` Jesse Barnes
2015-03-06  2:11       ` [Intel-gfx] " Zou, Nanhai
2015-03-06  8:39         ` [Beignet] " Chris Wilson
2015-03-09  2:34           ` Zou, Nanhai
2015-03-09 12:02             ` [Intel-gfx] " Chris Wilson
2015-03-10  1:57               ` Zou, Nanhai
2015-03-13  9:10               ` [Beignet] " David Weinehall
2015-03-13  9:18                 ` [Intel-gfx] " Chris Wilson
2015-03-13  9:27                 ` Daniel Vetter
2015-03-13 16:58                   ` [Beignet] " Chris Wilson
2015-03-13 17:13                     ` [Intel-gfx] " Daniel Vetter
2015-03-13 17:34                       ` [Beignet] " Chris Wilson
2015-03-13 17:49                         ` [Intel-gfx] " Daniel Vetter
2015-03-16  2:29                       ` [Beignet] " Song, Ruiling
2015-03-16  8:52                         ` Daniel Vetter
2015-03-16 20:10                           ` Jesse Barnes
2015-03-17  1:19                             ` [Intel-gfx] " Zhigang Gong
2015-03-17  2:29                             ` Zou, Nanhai
2015-03-17 15:13                               ` [Beignet] " Jesse Barnes
2015-03-19  3:22                                 ` Song, Ruiling [this message]
2015-03-19 10:09                                   ` David Weinehall
2015-03-19 14:58                                     ` Daniel Vetter
2015-03-20  3:01                                       ` Song, Ruiling
2015-03-17 10:01                             ` Daniel Vetter
2015-03-16 20:11                           ` Jesse Barnes

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=148B1B7A67D1C24B9EF0BE42EA4977062B7F7BB2@SHSMSX101.ccr.corp.intel.com \
    --to=ruiling.song@intel.com \
    --cc=beignet@lists.freedesktop.org \
    --cc=daniel.vetter@intel.com \
    --cc=daniel@ffwll.ch \
    --cc=david.weinehall@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jbarnes@virtuousgeek.org \
    --cc=nanhai.zou@intel.com \
    --cc=rong.r.yang@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 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.