Граф коммитов

13501 Коммитов

Автор SHA1 Сообщение Дата
Evgeny c3f2a22a63 multiple processes tracing support
[ROCm/roctracer commit: 8cfde554b1]
2019-08-21 11:56:33 -05:00
Evgeny 8cfde554b1 multiple processes tracing support 2019-08-21 11:56:33 -05:00
Evgeny 4a9c36b32c multiple processes tracing support
Change-Id: Ic9afcdfdf9033f35bdfb78007ebf96eec5f0de44
2019-08-21 11:53:27 -05:00
Evgeny 0762516023 multiple processes tracing support
Change-Id: Ic9afcdfdf9033f35bdfb78007ebf96eec5f0de44


[ROCm/rocprofiler commit: 4a9c36b32c]
2019-08-21 11:53:27 -05:00
hthangirala 74e47f438d Account for user-defined marker in correlation id tracking
[ROCm/roctracer commit: 624f235246]
2019-08-20 18:49:37 -05:00
hthangirala 624f235246 Account for user-defined marker in correlation id tracking 2019-08-20 18:49:37 -05:00
Felix Kuehling 626957a263 libhsakmt: Enable HSA_USERPTR_FOR_PAGED_MEM by default
By using user-allocated pages instead of kernel-allocated pages
from TTM, we're not subject to TTM's self imposed limits on kernel
memory usage. This also paves the way for for more wide-spread use
of HMM on upstream kernels.

Change-Id: Iac82964c98a441e29b7f1986d1be1bb5ccb1e569
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2019-08-20 13:54:04 -04:00
Philip Yang a11cb2a633 libhsakmt: child process destroy vm objects in all apertures
child process clone vm objects from svm->apertures if parent process
doesn't free memory before fork. fmm_clear_all_mem suppose to clear the
apertures in forked child process but this only works if gpu_vm is not
NULL. parent process call hsaKmtCloseKFD reset gpu_vm to NULL and then
fork, then child process will not clear svm->apertures.

As a result, the child process will allocate vm object with same address
and add to aperture, there are duplicate vm objects with same address
in aperture. Then mapping to GPU will find the wrong vm object and
create incorrect GPU mapping cause rocrtst IPC test VM fault. The issue
happened with HSA_USERPTR_FOR_PAGED_MEM=1.

The fix is to clear vm objects in all apertures in clear_after_fork.

Change-Id: I92e42a967075a634a3f475b915c8242d82077ecb
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
2019-08-20 13:31:37 -04:00
Philip Yang 7fc6a9f7c2 Revert "hsaKmtCloseKFD destroy objects in all apertures"
This reverts commit 632ad3a749.

This change causes KFDTest failed on gfx803. The first hsaKmtCreateEvent
call allocate system memory for events_page because global variable
events_page is NULL. And this events page vm address should not be freed
until the process exit.

The change to destrory objects in hsaKmtCloseKFD removes events page. As
a result, KFDTest call hsaKmtOpenKFD again and then allocate memory will
get same events_page vm address on gfx803, and map this vm failed because
the vm conflict with events_page mapping.

KFDTest passed on VG10, gfx906 because allocate memory get different vm
address. hsaKmtCreateEvent still works fine as the driver keeps the
events page mapping of the process.

We should only destroy objects in fork cloned child process regardless
if gpu_vm is NULL or not.

Change-Id: I174ef65321cbd6074c855c2021318fe961c8c72c
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
2019-08-20 10:52:14 -04:00
Evgeny 5f9e74caca unloading and flush fix
[ROCm/roctracer commit: 4dfd1bb692]
2019-08-19 23:18:07 -05:00
Evgeny 4dfd1bb692 unloading and flush fix 2019-08-19 23:18:07 -05:00
Yong Zhao 61069a41d3 kfdtest: Update gfx908 test blacklist
Change-Id: Ia83789fca28dc85fe7af4075382dfecbf8972d05
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
2019-08-16 19:32:10 -04:00
Amber Lin 1fddfd316a libhsakmt: reduce /proc/cpuinfo opens
/proc/cpuinfo are opened, read, and closed multiple times. Once for vendor
name and multiple times for model name -- each node opens once. For example
in a 2 CPUs + 4 GPUs system, it'll be opened 7 times. This patch reads it
one time and stores it in a cpuinfo buffer. This cpuinfo buffer is freed
when the snapshot is done.

Also replace returns with gotos inside the snapshot to avoid possible
memory leak.

Change-Id: Iaf26a6c7e7323a8651d137c3706179449b9e3c80
Signed-off-by: Amber Lin <Amber.Lin@amd.com>
2019-08-15 12:37:26 -04:00
Chris Freehill aa2db48237 Fix building lib and test in non-automated (CI) env.
Also, use abbreviated ROCM_BUILD_ID environment variable for job
and build number, if it's available.

Change-Id: Ib5a721f5920f1008bb6382935f7b439429389de0
2019-08-14 23:18:15 -05:00
Chris Freehill dffa533e13 Add build and job numbers to package version
Change-Id: I06baf23e09b3a63a24d0046046f7f22281e0ec93
2019-08-14 09:48:59 -05:00
Jonathan Kim c04ebb56b9 kfdtest: add query debug pending events test cases
adding test cases to query debugger pending events

Change-Id: I089754c508e476ce7b19e1cbd84235e4474b30c4
Signed-off-by: Jonathan Kim <Jonathan.Kim@amd.com>
Reviewed-by: Kent Russell <Kent.Russell@amd.com>
2019-08-13 10:21:26 -04:00
Chris Freehill fe738eaedb Conform versioning of to uniform version standards
Library version will now only have major and minor. Package
version will now include number of commits since previous
package. Both SO and package versions rely on git tags to
determine the current build and the commits since the last
release.

Change-Id: If2bda74bf342930a9e07f5c91cb1380b6b7c64ca
2019-08-12 08:59:09 -05:00
Evgeny de6f214ce2 trace buffer fix
[ROCm/roctracer commit: 0a14603e25]
2019-08-11 08:56:39 -05:00
Evgeny 0a14603e25 trace buffer fix 2019-08-11 08:56:39 -05:00
Evgeny 72fdf1afcb readme update
Change-Id: Ic09aa90e9b6d584aa1dca4e54f6c8629493aa501
2019-08-10 00:15:57 -05:00
Evgeny 5c01d1cde3 readme update
Change-Id: Ic09aa90e9b6d584aa1dca4e54f6c8629493aa501


[ROCm/rocprofiler commit: 72fdf1afcb]
2019-08-10 00:15:57 -05:00
Evgeny a1e0c2caef unload and destruct normalizing
[ROCm/roctracer commit: 603e469149]
2019-08-10 00:14:04 -05:00
Evgeny 603e469149 unload and destruct normalizing 2019-08-10 00:14:04 -05:00
Chris Freehill aaecfd6fff Adjust how we read ECC block counter status
This change corresponds to kernel changes.

Change-Id: Ibd977e8b3338349036cb16e55fb0b2c9c187726d
2019-08-09 16:06:43 -05:00
Evgeny c635e3a25e inheritance fix
Change-Id: I1ff0539b658c5e742a05085b8b5514ffd2c10f47
2019-08-08 18:00:51 -05:00
Evgeny a691aeb3ab inheritance fix
Change-Id: I1ff0539b658c5e742a05085b8b5514ffd2c10f47


[ROCm/rocprofiler commit: c635e3a25e]
2019-08-08 18:00:51 -05:00
Jay Cornwall ad717d2e98 Support KFD interrupt protocol in second-level trap handler
If M0[23] is set then the driver will interpret the interrupt as a
debug event, rather than a signal event.

Clear M0 before sending the interrupt. All paths here are terminal so
it's not necessary to save/restore M0.

Change-Id: Ibd85b8cc6f8556941f2308a2c3fa3c68702cd606
2019-08-08 15:16:15 -05:00
Kent Russell a34832f11e Fix RAS change
RAS formatting changed, so get it to handle both types of sysfs output
until it's normalized
Change-Id: I56f2a2495af8ff4d01011bc614283376afb9ad0a
2019-08-08 12:09:18 -04:00
Evgeny 82ecf9e7a4 overwriting on inheritance
Change-Id: I6faf79874fc14e898c75972aa2f372e228105f7b
2019-08-08 01:54:29 -05:00
Evgeny fc6e208b50 overwriting on inheritance
Change-Id: I6faf79874fc14e898c75972aa2f372e228105f7b


[ROCm/rocprofiler commit: 82ecf9e7a4]
2019-08-08 01:54:29 -05:00
Evgeny 09eed4f35b gfx908 events update
Change-Id: Ieb7c72f66b7e5e5dfc29d97650a29722a6276a31
2019-08-07 19:44:31 -05:00
Evgeny 55680ff541 gfx908 events update
Change-Id: Ieb7c72f66b7e5e5dfc29d97650a29722a6276a31


[ROCm/rocprofiler commit: 09eed4f35b]
2019-08-07 19:44:31 -05:00
Eric Huang cdc10991a9 kfdtest: avoid TTM eviction in KFDMemoryTest.BigBufferStressTest
Reserve half of dma32 zone for non-NUMA system.



Change-Id: Id7aea7b6ff6cc1cc7983ecd95f8078b7f1be630c
Signed-off-by: Eric Huang <JinhuiEric.Huang@amd.com>
2019-08-07 16:35:29 -04:00
Yong Zhao 3e4c42ef13 kfdtest: Improve the printing message for CuMasking tests
Decimal is better than hex in this case.

Change-Id: Ic15a9373e99160880b98d3dcd6827d551c87b77a
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
2019-08-07 13:57:36 -04:00
Jonathan Kim 836dfd0752 libhsakmt: update dbg enable trap and add query debug events
Add data out for enable trap to return poll fd to user space.
Add query debug events interface.

Change-Id: Ia4afde1cf167e6aa61d502380a8b329ee89d5f44
Signed-off-by: Jonathan Kim <Jonathan.Kim@amd.com>
2019-08-07 10:04:33 -04:00
Philip Yang 632ad3a749 hsaKmtCloseKFD destroy objects in all apertures
Otherwise the parent call hsaKmtCloseKFD and then fork child process,
child process will duplicate the vm_objects from the parent.

Change-Id: Ia6ffc51cbae983b6a7cdc58ccf3b11ebe4087d97
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
2019-08-07 09:34:06 -04:00
Oak Zeng f40f166e20 Remove NodeId parameter from hsaKmtAllocQueueGWS
The NodeId parameter is redundant and can be retrieved
from QueueId parameter.

Change-Id: I12853849b868b304bd27633fa7653ba644d69026
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2019-08-06 20:20:30 -04:00
Ramesh Errabolu a043c6acbb Add override qualifier to CPU and GPU agent api
Change-Id: I930e29d671b5dc81dece6f910d611056a54d2c85
2019-08-06 18:13:26 -05:00
shaoyunl e65685df19 KFDTest: simply P2PBandwidthTest case for specified source/destination
Only run the  P2P test over the specified source and destination nodes if user already specify them

Change-Id: Ia3c0195cead7f46e3e28507f3255d8c59a287ab8
Signed-off-by: shaoyunl <shaoyun.liu@amd.com>
2019-08-06 18:57:33 -04:00
shaoyunl 65ab296840 KFDTest: Set CS_W32_EN bit for wave32 workloads for GFX10
On GFX10, the wave size is determined by the COMPUTE_DISPATCH_INITIATOR value passed to
DISPATCH_DIRECT.CS_W32_EN, default 0 value was giving 64 lane waves

Change-Id: Ie8c407a24bd2825757ec481be62247b35047e5ca
Signed-off-by: shaoyunl <shaoyun.liu@amd.com>
2019-08-06 18:57:14 -04:00
Chris Freehill 0da1599c4f Update docs for rsmi_dev_memory_reserved_pages_get()
Change-Id: I3cc479ea709bb8d9c23ff35d7339e329477ffe18
2019-08-06 16:57:09 -05:00
Chris Freehill 73c54e1fd0 Add support for rsmi_dev_memory_reserved_pages_get()
Also, don't return an error for empty sysfs files. The reserved memory
page file will often have no lines. We don't want it to appear that
this function is not supported if the file is empty.

Change-Id: I1d28bb184ea587bb578fe71dd75adc2a812d09a8
2019-08-06 11:42:03 -05:00
Ramesh Errabolu 4a0d50f415 Handle thread creation error correctly
Change-Id: Iaa8811e245aa20ac107aef104847df3e455518f1
2019-08-05 15:39:54 -04:00
Evgeny d357bdb933 fixing api output format
[ROCm/roctracer commit: e49c1789fb]
2019-08-05 13:06:22 -05:00
Evgeny e49c1789fb fixing api output format 2019-08-05 13:06:22 -05:00
Yong Zhao d954db828d kfdtest: Add gfx908 test cases
Change-Id: I427bb8381ea0690d2b0ae496acd4902fba0d18b4
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
2019-08-02 11:05:04 -04:00
Yong Zhao 5ae5854302 kfdtest: Improve FlatScratchAccess by not hardcoding the value
We should use the SE number reflected by NumShaderBanks of the node
rather than hardcoding it.

Change-Id: I945fb001f81ce506249cf485a7ce25aee8219bc7
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
2019-08-01 23:10:28 -04:00
Yong Zhao 23db2c658d libhsakmt: Add gfx908 support
Change-Id: Icced5ca4c68eb6cc3978e0d8e836d0ccfc8c980d
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
2019-08-01 23:10:28 -04:00
Konstantin Zhuravlyov 7d8205548b Allow ccache enabled builds if -DROCM_CCACHE_BUILD=ON
Change-Id: Ie3ebb5d95af5fa55f11c9c88378ab29736538e25
2019-08-01 14:33:38 -04:00
Konstantin Zhuravlyov 53e4eca485 Allow ccache enabled builds if -DROCM_CCACHE_BUILD=ON
Change-Id: Ia80965feb6e4ff22d466f1ff3142fb2ef303f99c
2019-07-31 16:39:27 -04:00