cated
only once at driver's initialisation time.
Signed-off-by: Adrián Larumbe
Cc: Rob Clark
Cc: Tvrtko Ursulin
Cc: Lucas De Marchi
---
drivers/gpu/drm/panthor/panthor_device.c | 2 +
drivers/gpu/drm/panthor/panthor_device.h | 6 +++
drivers/gpu/drm/panthor/panthor_drv.c| 16
ow_memory_stats. Drivers which have no interest in exposing the size
of internal memory objects can keep passing NULL for unaltered behaviour.
Signed-off-by: Adrián Larumbe
Cc: Rob Clark
Cc: Tvrtko Ursulin
Cc: Lucas De Marchi
---
drivers/gpu/drm/drm_file.c | 6 +-
drivers/gpu/d
/dri-devel/dqhnxhgho6spfh7xhw6yvs2iiqeqzeg63e6jqqpw2g7gkrfphn@dojsixyl4esv/
Adrián Larumbe (2):
drm/drm_file: Add display of driver's internal memory size
drm/panthor: register size of internal objects through fdinfo
drivers/gpu/drm/drm_file.c | 6 ++-
drivers/gpu/dr
their entirety 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
Revi
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
e's object 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
power 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
R
ly be backed 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: A
ts unit size selection patch.
v8:
- Style improvements and addressing 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
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
ly be backed 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
their entirety 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
Revi
power 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
---
Documen
file with meaning of fdinfo strings.
- BUILD_BUG_ON checking 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 registe
e's object 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 ++
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 of
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
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 in
ly be backed 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
their entirety 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
Revi
the scheduler will make sure these values are 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
power 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/pan
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
e's object 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 ++
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
their entirety 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
---
power 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 +
driver
putting of cycle counting refcnt into panfrost 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: Ad
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
ly be backed 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
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
e's object 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 inserti
power 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/pan
e's object 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/driv
ly be backed 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
igger 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/d
their entirety 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/panf
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
sful mapping.
- drm-file picks an 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: A
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.
&g
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 ha
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
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
their entirety 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/panf
ly be backed 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
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/Mak
e's object 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/driv
job IRQ and the actual time of the sample.
- Time spent in the engine queue waiting for the GPU to pick up the next
job.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panfrost/panfrost_devfreq.c | 8 +++
drivers/gpu/drm/panfrost/panfrost_devfreq.h | 3 ++
drivers/gpu/drm/panfrost
.
Toggling of GPU cycle counting has to be done through a module parameter.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panfrost/panfrost_device.c | 5 +++
drivers/gpu/drm/panfrost/panfrost_device.h | 6 +++
drivers/gpu/drm/panfrost/panfrost_gpu.c| 43 ++
drivers
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
previous multiplier for more accurate BO size numbers
- Removed special handling of Prime imported BO RSS
- Use rss_size only for heap objects
- Use bo->base.madv instead of specific purgeable flag
- Fixed kernel test robot warnings
Adrián Larumbe (8):
drm/panfrost: Add cycle count GPU
On 30.08.2023 12:52, Boris Brezillon wrote:
>On Thu, 24 Aug 2023 02:34:48 +0100
>Adrián Larumbe wrote:
>
>> BO's RSS is updated every time new pages are allocated and mapped for the
>> object, either in its entirety at creation time for non-heap buffers, or
>> el
On 30.08.2023 12:17, Boris Brezillon wrote:
>On Thu, 24 Aug 2023 02:34:45 +0100
>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.
>
>Pretty sure this has
On 30.08.2023 12:31, Boris Brezillon wrote:
>On Thu, 24 Aug 2023 02:34:46 +0100
>Adrián Larumbe wrote:
>
>> A new DRM GEM object function is added so that drm_show_memory_stats can
>> provider more accurate memory usage numbers.
>
> s/provider/provide/
>
>>
On 31.08.2023 16:54, Steven Price wrote:
>On 24/08/2023 02: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 in
ts is to be interpreted as the
>> integer multiplier of a 10-power of 2, so 1 would give us size in Kib and 2
>> in Mib. If we want drm-file functions to pick the highest unit, then 0
>> should be passed.
>>
>> Signed-off-by: Adrián Larumbe
>> ---
>> drivers
ng
storage for it might have already been allocated by the exporting driver.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panfrost/panfrost_gem.c | 22 ++
drivers/gpu/drm/panfrost/panfrost_gem.h | 5 +
drivers/gpu/drm/panfrost/panfrost_mmu.c | 16 +++-
3 fil
multiplier of a 10-power of 2, so 1 would give us size in Kib and 2
in Mib. If we want drm-file functions to pick the highest unit, then 0
should be passed.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/drm_file.c | 22 +-
drivers/gpu/drm/msm/msm_drv.c | 2
f RSS size for BO's.
- Implemente selection of drm-memory region size units
- Removed locking of shrinker's mutex in GEM obj status function
Adrián Larumbe (6):
drm/panfrost: Add cycle count GPU register definitions
drm/panfrost: Add fdinfo support GPU load metrics
drm/panfr
e's object 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 | 9 +++--
drivers/gpu/drm/panfrost/panfrost_gem.c | 12
drivers/gpu/drm/panfrost/panfrost_gem.h | 1 +
calculations.
Signed-off-by: Adrián Larumbe
---
drivers/gpu/drm/panfrost/panfrost_devfreq.c | 8
drivers/gpu/drm/panfrost/panfrost_devfreq.h | 3 ++
drivers/gpu/drm/panfrost/panfrost_device.h | 13 ++
drivers/gpu/drm/panfrost/panfrost_drv.c | 45 -
drivers/gpu
ly be backed 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
---
drivers/gpu/drm/drm_file.c | 5 -
include/drm/drm_gem.h | 9 +
2 fi
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
---
drivers/gpu/drm/panfrost/panfrost_regs.h | 5 +
1 file changed, 5 insertions(+)
diff --git a/drivers/gpu/drm
65 matches
Mail list logo