All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Steven Price <steven.price@arm.com>
Cc: Alyssa Rosenzweig <alyssa@rosenzweig.io>,
	Tomeu Vizoso <tomeu.vizoso@collabora.com>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Maxime Ripard <maxime.ripard@bootlin.com>,
	Sean Paul <sean@poorly.run>, Will Deacon <will.deacon@arm.com>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	David Airlie <airlied@linux.ie>,
	iommu@lists.linux-foundation.org,
	"Marty E . Plummer" <hanetzer@startmail.com>,
	Robin Murphy <robin.murphy@arm.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 3/3] drm/panfrost: Add initial panfrost driver
Date: Mon, 15 Apr 2019 11:18:37 +0200	[thread overview]
Message-ID: <20190415091837.GV2665@phenom.ffwll.local> (raw)
In-Reply-To: <34a7038e-34f0-0cc4-4fc4-9b7dda356df6@arm.com>

On Fri, Apr 05, 2019 at 05:42:33PM +0100, Steven Price wrote:
> On 05/04/2019 17:16, Alyssa Rosenzweig wrote:
> > acronym once ever and have it as a "??"), I'm not sure how to respond to
> > that... We don't know how to allocate memory for the GPU-internal data
> > structures (the tiler heap, for instance, but also a few others I've
> > just named "misc_0" and "scratchpad" -- guessing one of those is for
> > "TLS"). With kbase, I took the worst-case strategy of allocating
> > gigantic chunks on startup with tiny commit counts and GROW_ON_GPF set.
> > With the new driver, well, our memory consumption is scary since
> > implementing GROW_ON_GPF in an upstream-friendly way is a bit more work
> > and isn't expected to hit the 5.2 window.
> 
> Yes GROW_ON_GPF is pretty much required for the tiler heap - it's not
> (reasonably) possible to determine how big it should be. The Arm user
> space driver does the same approach (tiny commit count, but allow it to
> grow).

Jumping in here with a drive through comment ...

Growing gem bo and dma-buf is going to be endless amounts of fun, since we
hard-coded that their size is invariant.

I think the only reasonable way to implement this is if you allocate a
really huge bo, map it, but only put the pages in on faulting. Or when
really evil userspace tries to export it. Actually changing the underlying
buffer size is not going to work I think.

Note: I didn't read kbase, so might be totally wrong in how GROW_ON_GPF
works.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel@ffwll.ch>
To: Steven Price <steven.price@arm.com>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Maxime Ripard <maxime.ripard@bootlin.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	David Airlie <airlied@linux.ie>,
	iommu@lists.linux-foundation.org,
	linux-arm-kernel@lists.infradead.org,
	"Marty E . Plummer" <hanetzer@startmail.com>,
	Sean Paul <sean@poorly.run>,
	Alyssa Rosenzweig <alyssa@rosenzweig.io>
Subject: Re: [PATCH v2 3/3] drm/panfrost: Add initial panfrost driver
Date: Mon, 15 Apr 2019 11:18:37 +0200	[thread overview]
Message-ID: <20190415091837.GV2665@phenom.ffwll.local> (raw)
Message-ID: <20190415091837.jZRyDUiwhgcq8kcFjQ81KHsKcBkFmU_5cXkUT4EY0nQ@z> (raw)
In-Reply-To: <34a7038e-34f0-0cc4-4fc4-9b7dda356df6@arm.com>

On Fri, Apr 05, 2019 at 05:42:33PM +0100, Steven Price wrote:
> On 05/04/2019 17:16, Alyssa Rosenzweig wrote:
> > acronym once ever and have it as a "??"), I'm not sure how to respond to
> > that... We don't know how to allocate memory for the GPU-internal data
> > structures (the tiler heap, for instance, but also a few others I've
> > just named "misc_0" and "scratchpad" -- guessing one of those is for
> > "TLS"). With kbase, I took the worst-case strategy of allocating
> > gigantic chunks on startup with tiny commit counts and GROW_ON_GPF set.
> > With the new driver, well, our memory consumption is scary since
> > implementing GROW_ON_GPF in an upstream-friendly way is a bit more work
> > and isn't expected to hit the 5.2 window.
> 
> Yes GROW_ON_GPF is pretty much required for the tiler heap - it's not
> (reasonably) possible to determine how big it should be. The Arm user
> space driver does the same approach (tiny commit count, but allow it to
> grow).

Jumping in here with a drive through comment ...

Growing gem bo and dma-buf is going to be endless amounts of fun, since we
hard-coded that their size is invariant.

I think the only reasonable way to implement this is if you allocate a
really huge bo, map it, but only put the pages in on faulting. Or when
really evil userspace tries to export it. Actually changing the underlying
buffer size is not going to work I think.

Note: I didn't read kbase, so might be totally wrong in how GROW_ON_GPF
works.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel@ffwll.ch>
To: Steven Price <steven.price@arm.com>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Maxime Ripard <maxime.ripard@bootlin.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	David Airlie <airlied@linux.ie>,
	iommu@lists.linux-foundation.org,
	linux-arm-kernel@lists.infradead.org,
	"Marty E . Plummer" <hanetzer@startmail.com>,
	Sean Paul <sean@poorly.run>,
	Alyssa Rosenzweig <alyssa@rosenzweig.io>
Subject: Re: [PATCH v2 3/3] drm/panfrost: Add initial panfrost driver
Date: Mon, 15 Apr 2019 11:18:37 +0200	[thread overview]
Message-ID: <20190415091837.GV2665@phenom.ffwll.local> (raw)
In-Reply-To: <34a7038e-34f0-0cc4-4fc4-9b7dda356df6@arm.com>

On Fri, Apr 05, 2019 at 05:42:33PM +0100, Steven Price wrote:
> On 05/04/2019 17:16, Alyssa Rosenzweig wrote:
> > acronym once ever and have it as a "??"), I'm not sure how to respond to
> > that... We don't know how to allocate memory for the GPU-internal data
> > structures (the tiler heap, for instance, but also a few others I've
> > just named "misc_0" and "scratchpad" -- guessing one of those is for
> > "TLS"). With kbase, I took the worst-case strategy of allocating
> > gigantic chunks on startup with tiny commit counts and GROW_ON_GPF set.
> > With the new driver, well, our memory consumption is scary since
> > implementing GROW_ON_GPF in an upstream-friendly way is a bit more work
> > and isn't expected to hit the 5.2 window.
> 
> Yes GROW_ON_GPF is pretty much required for the tiler heap - it's not
> (reasonably) possible to determine how big it should be. The Arm user
> space driver does the same approach (tiny commit count, but allow it to
> grow).

Jumping in here with a drive through comment ...

Growing gem bo and dma-buf is going to be endless amounts of fun, since we
hard-coded that their size is invariant.

I think the only reasonable way to implement this is if you allocate a
really huge bo, map it, but only put the pages in on faulting. Or when
really evil userspace tries to export it. Actually changing the underlying
buffer size is not going to work I think.

Note: I didn't read kbase, so might be totally wrong in how GROW_ON_GPF
works.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2019-04-15  9:18 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-01  7:47 [PATCH v2 0/3] Initial Panfrost driver Rob Herring
2019-04-01  7:47 ` Rob Herring
2019-04-01  7:47 ` [PATCH v3 1/3] iommu: io-pgtable: Add ARM Mali midgard MMU page table format Rob Herring
2019-04-01  7:47   ` Rob Herring
2019-04-01  7:47   ` Rob Herring
2019-04-01 19:11   ` Robin Murphy
2019-04-01 19:11     ` Robin Murphy
2019-04-05 10:02     ` Robin Murphy
2019-04-05 10:02       ` Robin Murphy
2019-04-05 10:02       ` Robin Murphy
2019-04-11 13:15     ` Joerg Roedel
2019-04-11 13:15       ` Joerg Roedel
2019-04-11 13:15       ` Joerg Roedel
2019-04-05  9:42   ` Steven Price
2019-04-05  9:42     ` Steven Price
2019-04-05  9:42     ` Steven Price
2019-04-05  9:51     ` Robin Murphy
2019-04-05  9:51       ` Robin Murphy
2019-04-05 10:36       ` Steven Price
2019-04-05 10:36         ` Steven Price
2019-04-08  8:56         ` Steven Price
2019-04-08  8:56           ` Steven Price
2019-04-08  8:56           ` Steven Price
2019-04-01  7:47 ` [PATCH v2 2/3] drm: Add a drm_gem_objects_lookup helper Rob Herring
2019-04-01  7:47   ` Rob Herring
2019-04-01 13:06   ` Daniel Vetter
2019-04-01 13:06     ` Daniel Vetter
2019-04-01 13:48     ` Chris Wilson
2019-04-01 13:48       ` Chris Wilson
2019-04-01 13:48       ` Chris Wilson
2019-04-01 15:43       ` Eric Anholt
2019-04-01 15:43         ` Eric Anholt
2019-04-01 15:43         ` Eric Anholt
2019-04-08 20:09         ` Rob Herring
2019-04-08 20:09           ` Rob Herring
2019-04-08 20:09           ` Rob Herring
2019-04-09 16:55           ` Eric Anholt
2019-04-09 16:55             ` Eric Anholt
2019-04-09 16:55             ` Eric Anholt
2019-04-09 16:55             ` Eric Anholt
2019-04-01 16:59     ` Rob Herring
2019-04-01 16:59       ` Rob Herring
2019-04-01 18:22       ` Eric Anholt
2019-04-01 18:22         ` Eric Anholt
2019-04-01 18:22         ` Eric Anholt
2019-04-01  7:47 ` [PATCH v2 3/3] drm/panfrost: Add initial panfrost driver Rob Herring
2019-04-01  8:24   ` Neil Armstrong
2019-04-01  8:24     ` Neil Armstrong
2019-04-01 19:17     ` Robin Murphy
2019-04-01 19:17       ` Robin Murphy
2019-04-01 16:02   ` Eric Anholt
2019-04-01 16:02     ` Eric Anholt
2019-04-01 19:12   ` Robin Murphy
2019-04-01 19:12     ` Robin Murphy
2019-04-01 19:12     ` Robin Murphy
2019-04-02  0:33     ` Alyssa Rosenzweig
2019-04-02  0:33       ` Alyssa Rosenzweig
2019-04-02 11:23       ` Robin Murphy
2019-04-02 11:23         ` Robin Murphy
2019-04-03  4:57     ` Rob Herring
2019-04-03  4:57       ` Rob Herring
2019-04-03  4:57       ` Rob Herring
2019-04-05 12:57       ` Robin Murphy
2019-04-05 12:57         ` Robin Murphy
2019-04-05 12:57         ` Robin Murphy
2019-04-05 12:30   ` Steven Price
2019-04-05 16:16     ` Alyssa Rosenzweig
2019-04-05 16:16       ` Alyssa Rosenzweig
2019-04-05 16:16       ` Alyssa Rosenzweig
2019-04-05 16:42       ` Steven Price
2019-04-05 16:42         ` Steven Price
2019-04-05 16:42         ` Steven Price
2019-04-05 16:53         ` Alyssa Rosenzweig
2019-04-05 16:53           ` Alyssa Rosenzweig
2019-04-05 16:53           ` Alyssa Rosenzweig
2019-04-15  9:18         ` Daniel Vetter [this message]
2019-04-15  9:18           ` Daniel Vetter
2019-04-15  9:18           ` Daniel Vetter
2019-04-15  9:30           ` Steven Price
2019-04-15  9:30             ` Steven Price
2019-04-15  9:30             ` Steven Price
2019-04-16  7:51             ` Daniel Vetter
2019-04-16  7:51               ` Daniel Vetter
2019-04-16  7:51               ` Daniel Vetter
2019-04-16  7:51               ` Daniel Vetter
2019-04-08 21:04     ` Rob Herring
2019-04-08 21:04       ` Rob Herring
2019-04-08 21:04       ` Rob Herring
2019-04-08 21:04       ` Rob Herring
2019-04-09 15:56       ` Tomeu Vizoso
2019-04-09 15:56         ` Tomeu Vizoso
2019-04-09 15:56         ` Tomeu Vizoso
2019-04-09 15:56         ` Tomeu Vizoso
2019-04-09 16:15         ` Rob Herring
2019-04-09 16:15           ` Rob Herring
2019-04-09 16:15           ` Rob Herring
2019-04-09 16:15           ` Rob Herring
2019-04-10 10:28           ` Steven Price
2019-04-10 10:28             ` Steven Price
2019-04-10 10:28             ` Steven Price
2019-04-10 10:28             ` Steven Price
2019-04-10 10:19       ` Steven Price
2019-04-10 10:19         ` Steven Price
2019-04-10 10:19         ` Steven Price
2019-04-10 10:19         ` Steven Price
2019-04-10 11:50         ` Tomeu Vizoso
2019-04-10 11:50           ` Tomeu Vizoso
2019-04-10 11:50           ` Tomeu Vizoso
2019-04-10 11:50           ` Tomeu Vizoso
2019-04-01 15:05 ` [PATCH v2 0/3] Initial Panfrost driver Alyssa Rosenzweig
2019-04-01 15:05   ` Alyssa Rosenzweig
2019-04-01 15:05   ` Alyssa Rosenzweig

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=20190415091837.GV2665@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=airlied@linux.ie \
    --cc=alyssa@rosenzweig.io \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hanetzer@startmail.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maxime.ripard@bootlin.com \
    --cc=narmstrong@baylibre.com \
    --cc=robin.murphy@arm.com \
    --cc=sean@poorly.run \
    --cc=steven.price@arm.com \
    --cc=tomeu.vizoso@collabora.com \
    --cc=will.deacon@arm.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.