at driver's initialisation time.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panthor/panthor_device.c | 2 +
drivers/gpu/drm/panthor/panthor_device.h | 13 +-
drivers/gpu/drm/panthor/panthor_drv.c| 20 ++---
drivers/gpu/drm/panthor/panthor_fw.c | 16 +--
drivers/gpu/drm
have no interest in exposing the size
of internal memory objects can keep passing NULL for unaltered behaviour.
Signed-off-by: Adrián Larumbe
---
Documentation/gpu/drm-usage-stats.rst | 4
drivers/gpu/drm/drm_file.c | 9 +++--
drivers/gpu/drm/msm/msm_drv.c | 2
.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panthor/panthor_sched.c | 95 ++---
1 file changed, 86 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/panthor/panthor_sched.c
b/drivers/gpu/drm/panthor/panthor_sched.c
index bbd20db40e7b..4fb6fc5c2314 100644
Drawing from the FW-calculated values in the previous commit, we can
increase the numbers for an open file by collecting them from finished jobs
when updating their group synchronisation objects.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panthor/panthor_devfreq.c | 10 +
drivers/gpu
for storing and subtracting the cycle counter and timestamp
register, and it must always remain a power of two.
This commit is done in preparation for enabling DRM fdinfo support in the
Panthor driver, which depends on the numbers calculated herein.
Signed-off-by: Adrián Larumbe
Reviewed-by: Liviu
accounting will be the matter of a later commit.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panthor/panthor_device.h | 1 +
drivers/gpu/drm/panthor/panthor_drv.c| 46 +---
2 files changed, 43 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/panthor
Implement drm object's status callback.
Also, we consider a PRIME imported BO to be resident if its matching
dma_buf has an open attachment, which means its backing storage had already
been allocated.
Signed-off-by: Adrián Larumbe
Reviewed-by: Liviu Dudau
---
drivers/gpu/drm/panthor
and job accounting memory management, and a second one
that enables fdinfo.
- Moved NUM_INSTRS_PER_SLOT to the file prelude
- Removed nelem variable from the group's struct definition.
- Precompute size of group's syncobj BO to avoid code duplication.
- Some minor nits.
Adrián Larumbe (7):
drm
situation.
As was already done for Panfrost in the previous commit, fix it by
replacing drm_gem_shmem_pin() with its locked variant.
Cc: Thomas Zimmermann
Cc: Dmitry Osipenko
Cc: Boris Brezillon
Cc: Steven Price
Fixes: a78027847226 ("drm/gem: Acquire reservation lock in
drm_gem_{pin/unpin}()")
S
Cc: Thomas Zimmermann
Cc: Dmitry Osipenko
Cc: Boris Brezillon
Fixes: a78027847226 ("drm/gem: Acquire reservation lock in
drm_gem_{pin/unpin}()")
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/drm_gem_shmem_helper.c | 2 ++
1 file changed, 2 insertions(+)
diff --g
function replaced the locked variant inside Panfrost's
object pin callback.
- Moved already-assigned attachment warning into generic
already-locked gem object pin function
Adrián Larumbe (3):
drm/panfrost: Fix dma_resv deadlock at drm object pin time
drm/lima: Fix dma_resv deadlock at drm object pin
by drm_gem_pin().
Cc: Thomas Zimmermann
Cc: Dmitry Osipenko
Cc: Boris Brezillon
Cc: Steven Price
Fixes: a78027847226 ("drm/gem: Acquire reservation lock in
drm_gem_{pin/unpin}()")
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panfrost/panfrost_gem.c | 2 +-
1 file changed, 1
Hi Boris and Thomas,
On 02.05.2024 14:18, Thomas Zimmermann wrote:
> Hi
>
> Am 02.05.24 um 14:00 schrieb Boris Brezillon:
> > On Thu, 2 May 2024 13:59:41 +0200
> > Boris Brezillon wrote:
> >
> > > Hi Thomas,
> > >
> > > On Thu, 2 May 2024 13:51:16 +0200
> > > Thomas Zimmermann wrote:
> > >
On 24.04.2024 18:34, Liviu Dudau wrote:
> Hello,
>
> On Tue, Apr 23, 2024 at 10:32:36PM +0100, Adrián Larumbe wrote:
> > When vm-binding an already-created BO, the entirety of its virtual size is
> > then backed by system memory, so its RSS is always the same as its virtu
Hi Daniel,
On 02.05.2024 10:09, Daniel Vetter wrote:
> On Wed, May 01, 2024 at 07:50:43PM +0100, Adrián Larumbe wrote:
> > Up to this day, all fdinfo-based GPU profilers must traverse the entire
> > /proc directory structure to find open DRM clients with fdinfo file
the DRM device. Output from the ioctl isn't
human-readable, and it's meant to be retrieved only by GPU profilers like
gputop and nvtop.
Cc: Rob Clark
Cc: Tvrtko Ursulin
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/drm_internal.h | 1 +
drivers/gpu/drm/drm_ioctl.c| 89
?ref_type=heads
https://gitlab.freedesktop.org/larumbe/drm/-/tree/drm-clients-ioctl?ref_type=heads
I've only tested it with gputop, but intel-gputop should work also.
Adrián Larumbe (1):
drm: Add ioctl for querying a DRM device's list of open client PIDs
drivers/gpu/drm/drm_internal.h | 1
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/drm_gem_shmem_helper.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/drm_gem_shmem_helper.c
b/drivers/gpu/drm/drm_gem_shmem_helper.c
index 13bcdbfd..ad5d9f704e15 100644
--- a/drivers/gpu/drm/drm_gem_shmem_helper.c
+++ b/d
an already-locked
pin function replaced the locked variant inside Panfrost's
object pin callback.
- Moved already-assigned attachment warning into generic
already-locked gem object pin function
Adrián Larumbe (2):
drm/panfrost: Fix dma_resv deadlock at drm object pin time
drm/gem-shmem: Add
panfrost_gem_pin.
Do the same thing for the Lima driver, as it most likely suffers from the
same issue.
Cc: Thomas Zimmermann
Cc: Dmitry Osipenko
Cc: Boris Brezillon
Cc: Steven Price
Fixes: a78027847226 ("drm/gem: Acquire reservation lock in
drm_gem_{pin/unpin}()")
Signed-off-by: Adri
Hi Boris,
On 30.04.2024 13:28, Boris Brezillon wrote:
> The field used to store the chunk size if 12 bits wide, and the encoding
> is chunk_size = chunk_header.chunk_size << 12, which gives us a
> theoretical [4k:8M] range. This range is further limited by
> implementation constraints, and all
Hi Tvrtko,
On 15.04.2024 13:50, Tvrtko Ursulin wrote:
>
> On 05/04/2024 18:59, Rob Clark wrote:
> > On Wed, Apr 3, 2024 at 11:37 AM Adrián Larumbe
> > wrote:
> > >
> > > Up to this day, all fdinfo-based GPU profilers must traverse the entire
> > &g
Brezillon
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/lima/lima_gem.c | 9 +++--
drivers/gpu/drm/panfrost/panfrost_gem.c | 8 +++-
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_gem.c
index 7e
already
been allocated.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panthor/panthor_gem.c | 12
1 file changed, 12 insertions(+)
diff --git a/drivers/gpu/drm/panthor/panthor_gem.c
b/drivers/gpu/drm/panthor/panthor_gem.c
index d6483266d0c2..386c0dfeeb5f 100644
--- a/drivers/gpu
Drawing from the FW-calculated values in the previous commit, we can
increase the numbers for an open file by collecting them from finished jobs
when updating their group synchronisation objects.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panthor/panthor_devfreq.c | 10 +
drivers/gpu
management, and a second one
that enables fdinfo.
- Moved NUM_INSTRS_PER_SLOT to the file prelude
- Removed nelem variable from the group's struct definition.
- Precompute size of group's syncobj BO to avoid code duplication.
- Some minor nits.
Adrián Larumbe (3):
drm/panthor: introduce job cycle
for storing and subtracting the cycle counter and timestamp
register, and it must always remain a power of two.
This commit is done in preparation for enabling DRM fdinfo support in the
Panthor driver, which depends on the numbers calculated herein.
Signed-off-by: Adrián Larumbe
---
drivers/gpu
On Tue, Mar 05, 2024 at 09:05:49PM +, Adrián Larumbe wrote:
> > These values are sampled by the firmware right before jumping into the UM
> > command stream and immediately after returning from it, and then kept
> > inside a
> > per-job accounting structure. Th
panfrost_gem_pin.
Cc: Thomas Zimmermann
Cc: Dmitry Osipenko
Cc: Boris Brezillon
Cc: Steven Price
Fixes: a78027847226 ("drm/gem: Acquire reservation lock in
drm_gem_{pin/unpin}()")
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panfrost/panfrost_gem.c | 7 ++-
1 file changed, 6
On 04.04.2024 11:31, Maíra Canal wrote:
> On 4/4/24 11:00, Adrián Larumbe wrote:
> > This changeset is heavily inspired by commit 509433d8146c ("drm/v3d: Expose
> > the total GPU usage stats on sysfs"). The point is making broader GPU
> > occupancy numbers available
ssing time are
displayed.
Cc: Boris Brezillon
Cc: Christopher Healy
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panfrost/panfrost_device.h | 5 +++
drivers/gpu/drm/panfrost/panfrost_drv.c| 49 --
drivers/gpu/drm/panfrost/panfrost_job.c| 17 +++-
drivers/gpu/dr
be queried by profilers to get a list of PIDs for
their open clients. This file isn't human-readable, and it's meant to be
queried only by GPU profilers like gputop and nvtop.
Cc: Boris Brezillon
Cc: Tvrtko Ursulin
Cc: Christopher Healy
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm
If job accounting is disabled, then both fdinfo's drm-engine and drm-cycle
key values will remain immutable. In that case, it makes more sense not to
display them at all to avoid confusing user space profiling tools.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panfrost/panfrost_drv.c | 10
On 11.03.2024 11:02, Boris Brezillon wrote:
> On Wed, 6 Mar 2024 08:33:47 +
> Tvrtko Ursulin wrote:
>
> > On 06/03/2024 01:56, Adrián Larumbe wrote:
> > > Debugfs isn't always available in production builds that try to squeeze
> > > every single byte out
...@collabora.com/
Adrián Larumbe (1):
drm/panfrost: Replace fdinfo's profiling debugfs knob with sysfs
.../testing/sysfs-driver-panfrost-profiling | 10 +
Documentation/gpu/panfrost.rst| 9
drivers/gpu/drm/panfrost/Makefile | 2 -
drivers/gpu/drm
and replace it with a sysfs file that accomplishes
the same functionality, and document its ABI in a separate file.
Signed-off-by: Adrián Larumbe
---
.../testing/sysfs-driver-panfrost-profiling | 10 +
Documentation/gpu/panfrost.rst| 9
drivers/gpu/drm/panfrost/Makefile
This patch series enables userspace utilities like gputop and nvtop to
query a render context's fdinfo file and figure out rates of engine
and memory utilisation.
Adrián Larumbe (2):
drm/panthor: Enable fdinfo for cycle and time measurements
drm/panthor: Enable fdinfo for memory stats
number and the
queue's index within the group.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panthor/panthor_devfreq.c | 10 +
drivers/gpu/drm/panthor/panthor_device.h | 11 ++
drivers/gpu/drm/panthor/panthor_drv.c | 31
drivers/gpu/drm/panthor/panthor_sched.c | 217
When vm-binding an already-created BO, the entirety of its virtual size is
then backed by system memory, so its RSS is always the same as its virtual
size.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panthor/panthor_drv.c | 1 +
drivers/gpu/drm/panthor/panthor_gem.c | 12
2
the
current one implies a counter reset, which also messes up with the ring
buffer's extraction and insertion pointers. This is an unfortunate
hardware limitation.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panthor/Makefile | 3 +-
drivers/gpu/drm/panthor/panthor_device.c | 6
and replace it with a sysfs file that accomplishes
the same functionality, and document its ABI in a separate file.
Signed-off-by: Adrián Larumbe
---
.../testing/sysfs-driver-panfrost-profiling | 10 +++
Documentation/gpu/panfrost.rst| 9 +++
drivers/gpu/drm/panfrost/Makefile
://lore.kernel.org/dri-devel/20240221161237.2478193-1-adrian.laru...@collabora.com/
Adrián Larumbe (1):
drm/panfrost: Replace fdinfo's profiling debugfs knob with sysfs
.../testing/sysfs-driver-panfrost-profiling | 10 +++
Documentation/gpu/panfrost.rst| 9 +++
drivers/gpu/drm/panfrost
Hi Boris,
On 26.02.2024 09:51, Boris Brezillon wrote:
> On Wed, 21 Feb 2024 16:12:32 +
> Adrián Larumbe wrote:
>
> > Debugfs isn't always available in production builds that try to squeeze
> > every single byte out of the kernel image, but we still need a way to
>
Hi Steve,
On 21.02.2024 16:52, Steven Price wrote:
> On 21/02/2024 16:12, Adrián Larumbe wrote:
> > Debugfs isn't always available in production builds that try to squeeze
> > every single byte out of the kernel image, but we still need a way to
> > toggle the timest
and replace it with a sysfs file that accomplishes
the same functionality, and document its ABI in a separate file.
Signed-off-by: Adrián Larumbe
---
.../testing/sysfs-driver-panfrost-profiling | 10 +++
Documentation/gpu/panfrost.rst| 9 +++
drivers/gpu/drm/panfrost/Makefile
> On 21.02.2024 14:34, Tvrtko Ursulin wrote:
>
> On 21/02/2024 09:40, Adrián Larumbe wrote:
> > Hi,
> >
> > I just wanted to make sure we're on the same page on this matter. So in
> > Panfrost, and I guess in almost every other single driver out there, HW
to generalise this onto other drivers.
Adrian
On 16.02.2024 17:43, Tvrtko Ursulin wrote:
>
> On 16/02/2024 16:57, Daniel Vetter wrote:
> > On Wed, Feb 14, 2024 at 01:52:05PM +, Steven Price wrote:
> > > Hi Adrián,
> > >
> > > On 14/02/2024 12:14, Adri
in additional power consumption, so both were kept disabled until
toggled through debugfs.
A second read of the TRM made me think otherwise, but this is something
that would be best clarified by someone from ARM's side.
Adrián Larumbe (1):
drm/panfrost: Always record job cycle and timestamp
is running and there are inflight jobs, so there's no reason
to let user space toggle profiling.
Remove the profiling debugfs knob altogether so that cycle and timestamp
counting is always enabled for inflight jobs.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panfrost/Makefile
device probe().
- Updating said variable in Panfrost devfreq's get_dev_status() rather
than after the new OPP's frequency had been retrieved in target(), which
meant the old frequency would be assigned instead.
Signed-off-by: Adrián Larumbe
Fixes: f11b0417eec2 ("drm/panfrost: Add fdinfo suppor
a dma-buf import as being
resident in system memory, so that this can be reflected on fdinfo.
Adrián Larumbe (2):
drm/panfrost: Consider dma-buf imported objects as resident
drm/panfrost: Fix incorrect updating of current device frequency
drivers/gpu/drm/panfrost/panfrost_devfreq.c | 17
A GEM object constructed from a dma-buf imported sgtable should be regarded
as being memory resident, because the dma-buf API mandates backing storage
to be allocated when attachment succeeds.
Signed-off-by: Adrián Larumbe
Fixes: 9ccdac7aa822 ("drm/panfrost: Add fdinfo support for memory
On 20.10.2023 11:44, Steven Price wrote:
> sg_page_iter_page() doesn't return an error code, so the IS_ERR() check
> is wrong and the error path will never be executed. This also allows
> simplifying the code to remove the local variable 'page'.
>
> CC: Adrián Larumbe
>
Fix issues revealed by `make htmldocs` after adding Panfrost DRM
documentation file.
Signed-off-by: Adrián Larumbe
Fixes: d124dac2089c ("drm/panfrost: Add fdinfo support GPU load metrics")
Reported-by: kernel test robot
Closes:
https://lore.kernel.org/oe-kbuild-all/20231003091
handle database spinlock, so there's potential
for a race condition here.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven Price
Reviewed-by: AngeloGioacchino Del Regno
---
drivers/gpu/drm/panfrost/panfrost_drv.c | 2 ++
drivers/gpu/drm/panfrost/panfrost_gem.c | 15
at
BO creation time.
This calculation is unnecessary for imported PRIME objects, since heap
buffers cannot be exported by our driver, and the actual BO RSS size is the
one reported in its attached dmabuf structure.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven
by system memory
after successive GPU page faults.
Provide a new DRM object generic function that would allow drivers to
return a more accurate RSS and purgeable sizes for their BOs.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven Price
Reviewed-by: AngeloGioacchino
These GPU registers will be used when programming the cycle counter, which
we need for providing accurate fdinfo drm-cycles values to user space.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven Price
Reviewed-by: AngeloGioacchino Del Regno
---
drivers/gpu/drm
waste in case no
engine usage measuring is necessary.
Also add a documentation file explaining the possible values for fdinfo's
engine keystrings and Panfrost-specific drm-curfreq- pairs.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven Price
Reviewed
essing nitpicks.
Adrián Larumbe (5):
drm/panfrost: Add cycle count GPU register definitions
drm/panfrost: Add fdinfo support GPU load metrics
drm/panfrost: Add fdinfo support for memory stats
drm/drm_file: Add DRM obj's RSS reporting function for fdinfo
drm/panfrost: Implement gener
waste in case no
engine usage measuring is necessary.
Add also documentation file explaining the possible values for fdinfo's
engine keystrings and Panfrost-specific drm-curfreq- pairs.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven Price
---
Documentation/gpu
by system memory
after successive GPU page faults.
Provide a new DRM object generic function that would allow drivers to
return a more accurate RSS and purgeable sizes for their BOs.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven Price
---
drivers/gpu/drm/drm_file.c
at
BO creation time.
This calculation is unnecessary for imported PRIME objects, since heap
buffers cannot be exported by our driver, and the actual BO RSS size is the
one reported in its attached dmabuf structure.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven
ecking the engine name array size for fdinfo.
- Added copyright notices for Amazon in Panfrost's new debugfs files.
- Discarded fdinfo memory stats unit size selection patch.
Adrián Larumbe (5):
drm/panfrost: Add cycle count GPU register definitions
drm/panfrost: Add fdinfo support GPU load metrics
These GPU registers will be used when programming the cycle counter, which
we need for providing accurate fdinfo drm-cycles values to user space.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven Price
---
drivers/gpu/drm/panfrost/panfrost_regs.h | 5 +
1 file
handle database spinlock, so there's potential
for a race condition here.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven Price
---
drivers/gpu/drm/panfrost/panfrost_drv.c | 2 ++
drivers/gpu/drm/panfrost/panfrost_gem.c | 14 ++
2 files changed, 16
On 21.09.2023 11:14, Tvrtko Ursulin wrote:
>
>On 20/09/2023 16:32, Tvrtko Ursulin wrote:
>>
>> On 20/09/2023 00:34, Adrián Larumbe wrote:
>> > The current implementation will try to pick the highest available size
>> > display unit as soon as the
On 20.09.2023 16:32, Tvrtko Ursulin wrote:
>
>On 20/09/2023 00:34, Adrián Larumbe wrote:
>> The current implementation will try to pick the highest available size
>> display unit as soon as the BO size exceeds that of the previous
>> multiplier. That can lead to loss
On 20.09.2023 16:53, Tvrtko Ursulin wrote:
>
>On 20/09/2023 00:34, Adrián Larumbe wrote:
>> Some BO's might be mapped onto physical memory chunkwise and on demand,
>> like Panfrost's tiler heap. In this case, even though the
>> drm_gem_shmem_object page array might al
On 20.09.2023 16:40, Tvrtko Ursulin wrote:
>On 20/09/2023 00:34, Adrián Larumbe wrote:
>> The drm-stats fdinfo tags made available to user space are drm-engine,
>> drm-cycles, drm-max-freq and drm-curfreq, one per job slot.
>>
>> This deviates from standard practice
e read over in case of
requeuing.
- Moved putting of cycle counting refcnt into panfrost job dequeue
function to avoid repetition.
v6:
- Fix wrong swapped-round engine time and cycle values in fdinfo
drm print statements.
Adrián Larumbe (6):
drm/panfrost: Add cycle count GPU register defin
by system memory
after successive GPU page faults.
Provide a new DRM object generic function that would allow drivers to
return a more accurate RSS size for their BOs.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven Price
---
drivers/gpu/drm/drm_file.c | 5
waste in case no
engine usage measuring is necessary.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven Price
---
drivers/gpu/drm/panfrost/Makefile | 2 +
drivers/gpu/drm/panfrost/panfrost_debugfs.c | 20
drivers/gpu/drm/panfrost
the display unit selection threshold to render more accurate
values.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven Price
---
drivers/gpu/drm/drm_file.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_file.c b/drivers/gpu
at
BO creation time.
This calculation is unnecessary for imported PRIME objects, since heap
buffers cannot be exported by our driver, and the actual BO RSS size is the
one reported in its attached dmabuf structure.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven
These GPU registers will be used when programming the cycle counter, which
we need for providing accurate fdinfo drm-cycles values to user space.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven Price
---
drivers/gpu/drm/panfrost/panfrost_regs.h | 5 +
1 file
handle database spinlock, so there's potential
for a race condition here.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven Price
---
drivers/gpu/drm/panfrost/panfrost_drv.c | 2 ++
drivers/gpu/drm/panfrost/panfrost_gem.c | 14 ++
2 files changed, 16
at
BO creation time.
This calculation is unnecessary for imported PRIME objects, since heap
buffers cannot be exported by our driver, and the actual BO RSS size is the
one reported in its attached dmabuf structure.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
---
drivers/gpu/drm
the display unit selection threshold to render more accurate
values.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/drm_file.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_file.c b/drivers/gpu/drm/drm_file.c
index 762965e3d503..34cfa128ffe5 100644
by system memory
after successive GPU page faults.
Provide a new DRM object generic function that would allow drivers to
return a more accurate RSS size for their BOs.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
---
drivers/gpu/drm/drm_file.c | 5 -
include/drm/drm_gem.h | 9
These GPU registers will be used when programming the cycle counter, which
we need for providing accurate fdinfo drm-cycles values to user space.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven Price
---
drivers/gpu/drm/panfrost/panfrost_regs.h | 5 +
1 file
handle database spinlock, so there's potential
for a race condition here.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
---
drivers/gpu/drm/panfrost/panfrost_drv.c | 2 ++
drivers/gpu/drm/panfrost/panfrost_gem.c | 14 ++
2 files changed, 16 insertions(+)
diff --git
waste in case no
engine usage measuring is necessary.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
---
drivers/gpu/drm/panfrost/Makefile | 2 +
drivers/gpu/drm/panfrost/panfrost_debugfs.c | 20
drivers/gpu/drm/panfrost/panfrost_debugfs.h | 13 +
drivers/gpu
st job dequeue
function to avoid repetition.
Adrián Larumbe (6):
drm/panfrost: Add cycle count GPU register definitions
drm/panfrost: Add fdinfo support GPU load metrics
drm/panfrost: Add fdinfo support for memory stats
drm/drm_file: Add DRM obj's RSS reporting function for fdinfo
handle database spinlock, so there's potential
for a race condition here.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panfrost/panfrost_drv.c | 2 ++
drivers/gpu/drm/panfrost/panfrost_gem.c | 14 ++
2 files changed, 16 insertions(+)
diff --git a/drivers/gpu/drm/panfrost
BO's, their size will naturally be aligned on something
bigger than a 4 KiB page, so in practice it is very unlikely their display
unit would default to KiB.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/drm_file.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu
by system memory
after successive GPU page faults.
Provide a new DRM object generic function that would allow drivers to
return a more accurate RSS size for their BOs.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
---
drivers/gpu/drm/drm_file.c | 5 -
include/drm/drm_gem.h | 9
waste in case no
engine usage measuring is necessary.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panfrost/Makefile | 2 +
drivers/gpu/drm/panfrost/panfrost_debugfs.c | 20
drivers/gpu/drm/panfrost/panfrost_debugfs.h | 13 +
drivers/gpu/drm/panfrost
fdinfo memory object size unit that doesn't lose precision.
Adrián Larumbe (6):
drm/panfrost: Add cycle count GPU register definitions
drm/panfrost: Add fdinfo support GPU load metrics
drm/panfrost: Add fdinfo support for memory stats
drm/drm_file: Add DRM obj's RSS reporting function for
at
BO creation time.
This calculation is unnecessary for imported PRIME objects, since heap
buffers cannot be exported by our driver, and the actual BO RSS size is the
one reported in its attached dmabuf structure.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panfrost/panfrost_gem.c | 15
These GPU registers will be used when programming the cycle counter, which
we need for providing accurate fdinfo drm-cycles values to user space.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
Reviewed-by: Steven Price
---
drivers/gpu/drm/panfrost/panfrost_regs.h | 5 +
1 file
On 06.09.2023 10:11, Boris Brezillon wrote:
>On Tue, 5 Sep 2023 19:45:24 +0100
>Adrián Larumbe wrote:
>
>> The current implementation will try to pick the highest available size
>> display unit as soon as the BO size exceeds that of the previous
>> multiplier.
&
On 06.09.2023 10:01, Boris Brezillon wrote:
>On Tue, 5 Sep 2023 19:45:23 +0100
>Adrián Larumbe wrote:
>
>> BO's RSS is updated every time new pages are allocated on demand and mapped
>> for the object at GPU page fault's IRQ handler, but only for heap buffers.
>> The
On 06.09.2023 09:21, Boris Brezillon wrote:
>On Tue, 5 Sep 2023 19:45:18 +0100
>Adrián Larumbe wrote:
>
>> In a future development, we will want to keep track of the number of GPU
>> cycles spent on a given job. That means we should enable it only when the
>> GPU
On 06.09.2023 09:57, Boris Brezillon wrote:
>On Tue, 5 Sep 2023 19:45:18 +0100
>Adrián Larumbe wrote:
>
>> diff --git a/drivers/gpu/drm/panfrost/panfrost_job.c
>> b/drivers/gpu/drm/panfrost/panfrost_job.c
>> index 033f5e684707..8b1bf6ac48f8 100644
>&g
by system memory
after successive GPU page faults.
Provide a new DRM object generic function that would allow drivers to
return a more accurate RSS size for their BOs.
Signed-off-by: Adrián Larumbe
Reviewed-by: Boris Brezillon
---
drivers/gpu/drm/drm_file.c | 5 -
include/drm/drm_gem.h | 9
The current implementation will try to pick the highest available size
display unit as soon as the BO size exceeds that of the previous
multiplier.
By selecting a higher threshold, we could show more accurate size numbers.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/drm_file.c | 2 +-
1
at
BO creation time.
This calculation is unnecessary for imported PRIME objects, since heap
buffers cannot be exported by our driver, and the actual BO RSS size is the
one reported in its attached dmabuf structure.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panfrost/panfrost_gem.c | 14
Allow user space to decide whether the cycle counting register should be
enabled. The main goal is letting tools like nvtop or IGT's gputop access
this information in debug builds to obtain engine utilisation numbers.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panfrost/Makefile
handle database spinlock, so there's potential
for a race condition here.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panfrost/panfrost_drv.c | 1 +
drivers/gpu/drm/panfrost/panfrost_gem.c | 14 ++
2 files changed, 15 insertions(+)
diff --git a/drivers/gpu/drm/panfrost
1 - 100 of 162 matches
Mail list logo