mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-21 09:14:47 +08:00
Add ioctl to string decoder
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
544890c066
commit
4440c55725
@@ -488,14 +488,135 @@ void Drm::printIoctlStatistics() {
|
||||
return;
|
||||
}
|
||||
|
||||
printf("\n --- Ioctls statistics ---\n");
|
||||
printf(" Request Total time(ns) Count Avg time per ioctl\n");
|
||||
printf("\n--- Ioctls statistics ---\n");
|
||||
printf("%40s %15s %10s %20s", "Request", "Total time(ns)", "Count", "Avg time per ioctl\n");
|
||||
for (const auto &ioctlData : this->ioctlStatistics) {
|
||||
printf("%15lu %15llu %10lu %20f\n", ioctlData.first, ioctlData.second.first, static_cast<unsigned long>(ioctlData.second.second), ioctlData.second.first / static_cast<double>(ioctlData.second.second));
|
||||
printf("%40s %15llu %10lu %20f\n", this->ioctlToString(ioctlData.first).c_str(), ioctlData.second.first, static_cast<unsigned long>(ioctlData.second.second), ioctlData.second.first / static_cast<double>(ioctlData.second.second));
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
std::string Drm::ioctlToString(unsigned long request) {
|
||||
switch (request) {
|
||||
case DRM_IOCTL_I915_GEM_EXECBUFFER2:
|
||||
return "DRM_IOCTL_I915_GEM_EXECBUFFER2";
|
||||
case DRM_IOCTL_I915_GEM_WAIT:
|
||||
return "DRM_IOCTL_I915_GEM_WAIT";
|
||||
case DRM_IOCTL_GEM_CLOSE:
|
||||
return "DRM_IOCTL_GEM_CLOSE";
|
||||
case DRM_IOCTL_I915_GEM_USERPTR:
|
||||
return "DRM_IOCTL_I915_GEM_USERPTR";
|
||||
case DRM_IOCTL_I915_INIT:
|
||||
return "DRM_IOCTL_I915_INIT";
|
||||
case DRM_IOCTL_I915_FLUSH:
|
||||
return "DRM_IOCTL_I915_FLUSH";
|
||||
case DRM_IOCTL_I915_FLIP:
|
||||
return "DRM_IOCTL_I915_FLIP";
|
||||
case DRM_IOCTL_I915_BATCHBUFFER:
|
||||
return "DRM_IOCTL_I915_BATCHBUFFER";
|
||||
case DRM_IOCTL_I915_IRQ_EMIT:
|
||||
return "DRM_IOCTL_I915_IRQ_EMIT";
|
||||
case DRM_IOCTL_I915_IRQ_WAIT:
|
||||
return "DRM_IOCTL_I915_IRQ_WAIT";
|
||||
case DRM_IOCTL_I915_GETPARAM:
|
||||
return "DRM_IOCTL_I915_GETPARAM";
|
||||
case DRM_IOCTL_I915_SETPARAM:
|
||||
return "DRM_IOCTL_I915_SETPARAM";
|
||||
case DRM_IOCTL_I915_ALLOC:
|
||||
return "DRM_IOCTL_I915_ALLOC";
|
||||
case DRM_IOCTL_I915_FREE:
|
||||
return "DRM_IOCTL_I915_FREE";
|
||||
case DRM_IOCTL_I915_INIT_HEAP:
|
||||
return "DRM_IOCTL_I915_INIT_HEAP";
|
||||
case DRM_IOCTL_I915_CMDBUFFER:
|
||||
return "DRM_IOCTL_I915_CMDBUFFER";
|
||||
case DRM_IOCTL_I915_DESTROY_HEAP:
|
||||
return "DRM_IOCTL_I915_DESTROY_HEAP";
|
||||
case DRM_IOCTL_I915_SET_VBLANK_PIPE:
|
||||
return "DRM_IOCTL_I915_SET_VBLANK_PIPE";
|
||||
case DRM_IOCTL_I915_GET_VBLANK_PIPE:
|
||||
return "DRM_IOCTL_I915_GET_VBLANK_PIPE";
|
||||
case DRM_IOCTL_I915_VBLANK_SWAP:
|
||||
return "DRM_IOCTL_I915_VBLANK_SWAP";
|
||||
case DRM_IOCTL_I915_HWS_ADDR:
|
||||
return "DRM_IOCTL_I915_HWS_ADDR";
|
||||
case DRM_IOCTL_I915_GEM_INIT:
|
||||
return "DRM_IOCTL_I915_GEM_INIT";
|
||||
case DRM_IOCTL_I915_GEM_EXECBUFFER:
|
||||
return "DRM_IOCTL_I915_GEM_EXECBUFFER";
|
||||
case DRM_IOCTL_I915_GEM_EXECBUFFER2_WR:
|
||||
return "DRM_IOCTL_I915_GEM_EXECBUFFER2_WR";
|
||||
case DRM_IOCTL_I915_GEM_PIN:
|
||||
return "DRM_IOCTL_I915_GEM_PIN";
|
||||
case DRM_IOCTL_I915_GEM_UNPIN:
|
||||
return "DRM_IOCTL_I915_GEM_UNPIN";
|
||||
case DRM_IOCTL_I915_GEM_BUSY:
|
||||
return "DRM_IOCTL_I915_GEM_BUSY";
|
||||
case DRM_IOCTL_I915_GEM_SET_CACHING:
|
||||
return "DRM_IOCTL_I915_GEM_SET_CACHING";
|
||||
case DRM_IOCTL_I915_GEM_GET_CACHING:
|
||||
return "DRM_IOCTL_I915_GEM_GET_CACHING";
|
||||
case DRM_IOCTL_I915_GEM_THROTTLE:
|
||||
return "DRM_IOCTL_I915_GEM_THROTTLE";
|
||||
case DRM_IOCTL_I915_GEM_ENTERVT:
|
||||
return "DRM_IOCTL_I915_GEM_ENTERVT";
|
||||
case DRM_IOCTL_I915_GEM_LEAVEVT:
|
||||
return "DRM_IOCTL_I915_GEM_LEAVEVT";
|
||||
case DRM_IOCTL_I915_GEM_CREATE:
|
||||
return "DRM_IOCTL_I915_GEM_CREATE";
|
||||
case DRM_IOCTL_I915_GEM_PREAD:
|
||||
return "DRM_IOCTL_I915_GEM_PREAD";
|
||||
case DRM_IOCTL_I915_GEM_PWRITE:
|
||||
return "DRM_IOCTL_I915_GEM_PWRITE";
|
||||
case DRM_IOCTL_I915_GEM_SET_DOMAIN:
|
||||
return "DRM_IOCTL_I915_GEM_SET_DOMAIN";
|
||||
case DRM_IOCTL_I915_GEM_SW_FINISH:
|
||||
return "DRM_IOCTL_I915_GEM_SW_FINISH";
|
||||
case DRM_IOCTL_I915_GEM_SET_TILING:
|
||||
return "DRM_IOCTL_I915_GEM_SET_TILING";
|
||||
case DRM_IOCTL_I915_GEM_GET_TILING:
|
||||
return "DRM_IOCTL_I915_GEM_GET_TILING";
|
||||
case DRM_IOCTL_I915_GEM_GET_APERTURE:
|
||||
return "DRM_IOCTL_I915_GEM_GET_APERTURE";
|
||||
case DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID:
|
||||
return "DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID";
|
||||
case DRM_IOCTL_I915_GEM_MADVISE:
|
||||
return "DRM_IOCTL_I915_GEM_MADVISE";
|
||||
case DRM_IOCTL_I915_OVERLAY_PUT_IMAGE:
|
||||
return "DRM_IOCTL_I915_OVERLAY_PUT_IMAGE";
|
||||
case DRM_IOCTL_I915_OVERLAY_ATTRS:
|
||||
return "DRM_IOCTL_I915_OVERLAY_ATTRS";
|
||||
case DRM_IOCTL_I915_SET_SPRITE_COLORKEY:
|
||||
return "DRM_IOCTL_I915_SET_SPRITE_COLORKEY";
|
||||
case DRM_IOCTL_I915_GET_SPRITE_COLORKEY:
|
||||
return "DRM_IOCTL_I915_GET_SPRITE_COLORKEY";
|
||||
case DRM_IOCTL_I915_GEM_CONTEXT_CREATE:
|
||||
return "DRM_IOCTL_I915_GEM_CONTEXT_CREATE";
|
||||
case DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT:
|
||||
return "DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT";
|
||||
case DRM_IOCTL_I915_GEM_CONTEXT_DESTROY:
|
||||
return "DRM_IOCTL_I915_GEM_CONTEXT_DESTROY";
|
||||
case DRM_IOCTL_I915_REG_READ:
|
||||
return "DRM_IOCTL_I915_REG_READ";
|
||||
case DRM_IOCTL_I915_GET_RESET_STATS:
|
||||
return "DRM_IOCTL_I915_GET_RESET_STATS";
|
||||
case DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM:
|
||||
return "DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM";
|
||||
case DRM_IOCTL_I915_GEM_CONTEXT_SETPARAM:
|
||||
return "DRM_IOCTL_I915_GEM_CONTEXT_SETPARAM";
|
||||
case DRM_IOCTL_I915_PERF_OPEN:
|
||||
return "DRM_IOCTL_I915_PERF_OPEN";
|
||||
case DRM_IOCTL_I915_PERF_ADD_CONFIG:
|
||||
return "DRM_IOCTL_I915_PERF_ADD_CONFIG";
|
||||
case DRM_IOCTL_I915_PERF_REMOVE_CONFIG:
|
||||
return "DRM_IOCTL_I915_PERF_REMOVE_CONFIG";
|
||||
case DRM_IOCTL_I915_QUERY:
|
||||
return "DRM_IOCTL_I915_QUERY";
|
||||
default:
|
||||
return ioctlToStringImpl(request);
|
||||
}
|
||||
}
|
||||
|
||||
bool Drm::createVirtualMemoryAddressSpace(uint32_t vmCount) {
|
||||
for (auto i = 0u; i < vmCount; i++) {
|
||||
uint32_t id = i;
|
||||
|
||||
@@ -236,6 +236,8 @@ class Drm {
|
||||
|
||||
std::unordered_map<unsigned long, std::pair<long long, uint64_t>> ioctlStatistics;
|
||||
void printIoctlStatistics();
|
||||
std::string ioctlToString(unsigned long request);
|
||||
std::string ioctlToStringImpl(unsigned long request);
|
||||
|
||||
#pragma pack(1)
|
||||
struct PCIConfig {
|
||||
|
||||
@@ -74,6 +74,10 @@ bool Drm::isVmBindAvailable() {
|
||||
void Drm::appendDrmContextFlags(drm_i915_gem_context_create_ext &gcc, bool isSpecialContextRequested) {
|
||||
}
|
||||
|
||||
std::string Drm::ioctlToStringImpl(unsigned long request) {
|
||||
return std::to_string(request);
|
||||
}
|
||||
|
||||
void Drm::setupCacheInfo(const HardwareInfo &hwInfo) {
|
||||
this->cacheInfo.reset(new CacheInfoImpl());
|
||||
}
|
||||
|
||||
@@ -83,6 +83,10 @@ bool Drm::isVmBindAvailable() {
|
||||
void Drm::appendDrmContextFlags(drm_i915_gem_context_create_ext &gcc, bool isSpecialContextRequested) {
|
||||
}
|
||||
|
||||
std::string Drm::ioctlToStringImpl(unsigned long request) {
|
||||
return std::to_string(request);
|
||||
}
|
||||
|
||||
void Drm::setupCacheInfo(const HardwareInfo &hwInfo) {
|
||||
this->cacheInfo.reset(new CacheInfoImpl());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user