Added option to control how codeobj is dumped from ATT
Change-Id: Ie76aeea1193c7ba8fe7f51be159516f8a9eab55f
[ROCm/rocprofiler commit: 99b14fc9f8]
Este cometimento está contido em:
@@ -1152,12 +1152,16 @@ void Queue::WriteInterceptor(const void* packets, uint64_t pkt_count, uint64_t u
|
||||
session_id_snapshot, buffer_id, profile, kernel_properties,
|
||||
(uint32_t)syscall(__NR_gettid), user_pkt_index);
|
||||
|
||||
uint64_t userdata = HSASupport_Singleton::GetInstance()
|
||||
uint64_t off = dispatch_packet.kernel_object +
|
||||
GetKernelCode(dispatch_packet.kernel_object)->kernel_code_entry_byte_offset;
|
||||
codeobj_record::make_capture(rocprofiler_record_id_t{record_id}, capture_mode, off);
|
||||
|
||||
uint64_t IsGFX9 = HSASupport_Singleton::GetInstance()
|
||||
.GetHSAAgentInfo(queue_info.GetGPUAgent().handle)
|
||||
.GetDeviceInfo()
|
||||
.getName()
|
||||
.find("gfx9") != std::string::npos;
|
||||
codeobj_record::make_capture(rocprofiler_record_id_t{record_id}, capture_mode, userdata);
|
||||
codeobj_record::make_capture(rocprofiler_record_id_t{record_id}, capture_mode, IsGFX9 | (off<<1));
|
||||
codeobj_record::start_capture(rocprofiler_record_id_t{record_id});
|
||||
codeobj_record::stop_capture(rocprofiler_record_id_t{record_id});
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ class codeobj_capture_instance {
|
||||
|
||||
rocprofiler_intercepted_codeobj_t get() const {
|
||||
const char* buf_ptr = buffer.size() ? buffer.data() : nullptr;
|
||||
return {URI.c_str(), addr, buf_ptr, buffer.size(), start_time, end_time};
|
||||
return {URI.c_str(), addr, mem_size, buf_ptr, buffer.size(), start_time, end_time};
|
||||
};
|
||||
|
||||
const uint64_t addr;
|
||||
|
||||
@@ -44,6 +44,13 @@ typedef struct {
|
||||
uint64_t queue_index;
|
||||
} att_pending_signal_t;
|
||||
|
||||
enum rocprofiler_att_isa_dump_mode {
|
||||
ISA_MODE_DUMP_ALL=0,
|
||||
ISA_MODE_DUMP_OBJ,
|
||||
ISA_MODE_DUMP_KERNEL,
|
||||
ISA_MODE_DUMP_NONE
|
||||
};
|
||||
|
||||
union att_header_packet_t {
|
||||
struct {
|
||||
uint64_t reserved : 14;
|
||||
@@ -53,6 +60,7 @@ union att_header_packet_t {
|
||||
uint64_t DCU : 5;
|
||||
uint64_t DSA : 1;
|
||||
uint64_t SEID : 6;
|
||||
uint64_t isadumpmode : 3;
|
||||
};
|
||||
uint64_t raw;
|
||||
};
|
||||
|
||||
Criar uma nova questão referindo esta
Bloquear um utilizador