Commit Graph

2 Commits

Author SHA1 Message Date
Leonid Moiseichuk
d5fd0689c2 gpu: nvgpu: minor cleanups in cyclestats snapshots
There are two minor cleanups of cyclestats snapshots code implemented:

1. In case of unacceptably small buffer passed as a cyclestats snapshot
   it causes a kernel panic during list element removal:
   NvRmGpuTest_Channel_Cyclestats_Snapshot_Gen for 1 clients,
	each has 4 KB mappings and 1 perfmons
   [  304.533073] Unable to handle kernel NULL .... address 00000008
   [  304.541825] pgd = ffffffc04fc9f000
   [  304.545277] [00000008] *pgd=0000000000000000
   [  304.549554] Internal error: Oops: 96000045 [#1] PREEMPT SMPa
   ....
   [  304.584978] PC is at css_gr_free_client_data+0x28/0xe4
   [  304.590105] LR is at gr_gk20a_css_attach+0x6e0/0x700

2. Also fix with improved allocation of perfmon IDs implemented.

Bug 1573150

Change-Id: I58b753434141bf573463563fdd699c11ea914943
Signed-off-by: Leonid Moiseichuk <lmoiseichuk@nvidia.com>
Reviewed-on: http://git-master/r/751385
(cherry picked from commit e9314c29df3fb708a20fff58cfa64c2ead857b0f)
Reviewed-on: http://git-master/r/753275
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
2015-06-06 07:23:53 -07:00
Leonid Moiseichuk
837ceffcab gpu: nvgpu: cyclestats mode E snapshots support
That is a kernel supporting code for cyclestats mode E.
Cyclestats mode E implemented following Windows-design in user-space
and required the following operations to be implemented:
- attach a client for shared hardware buffer of device
- detach client from shared hardware buffer
- flush means copy of available data from hardware buffer to private
  client buffers according to perfmon IDs assigned for clients
- perfmon IDs management for user-space clients
- a NVGPU_GPU_FLAGS_SUPPORT_CYCLE_STATS_SNAPSHOT capability added

Bug 1573150

Change-Id: I9e09f0fbb2be5a95c47e6d80a2e23fa839b46f9a
Signed-off-by: Leonid Moiseichuk <lmoiseichuk@nvidia.com>
Reviewed-on: http://git-master/r/740653
(cherry picked from commit 79fe89fd4cea39d8ab9dbef0558cd806ddfda87f)
Reviewed-on: http://git-master/r/753274
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
2015-06-06 07:23:24 -07:00