Advertisement
Guest User

Untitled

a guest
May 22nd, 2024
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.83 KB | None | 0 0
  1. diff --git a/tests/intel/xe_exec_system_allocator.c b/tests/intel/xe_exec_system_allocator.c
  2. index 285b3df5a7..7b85f85e5e 100644
  3. --- a/tests/intel/xe_exec_system_allocator.c
  4. +++ b/tests/intel/xe_exec_system_allocator.c
  5. @@ -504,6 +504,7 @@ partial(int fd, struct drm_xe_engine_class_instance *eci, unsigned int flags)
  6. #define FILE_BACKED (0x1 << 9)
  7. #define LOCK (0x1 << 10)
  8. #define MMAP_SHARED (0x1 << 11)
  9. +#define HUGE_PAGE (0x1 << 12)
  10.  
  11. /**
  12. * SUBTEST: once-%s
  13. @@ -603,6 +604,7 @@ partial(int fd, struct drm_xe_engine_class_instance *eci, unsigned int flags)
  14. * @malloc-bo-unmap: malloc single buffer for all execs, bind and unbind a BO to same address before execs
  15. * @malloc-busy: malloc single buffer for all execs, try to unbind while buffer valid
  16. * @mmap: mmap single buffer for all execs
  17. + * @mmap-huge: mmap huge page single buffer for all execs
  18. * @mmap-shared: mmap shared single buffer for all execs
  19. * @mmap-mlock: mmap and mlock single buffer for all execs
  20. * @mmap-file: mmap single buffer, with file backing, for all execs
  21. @@ -615,8 +617,10 @@ partial(int fd, struct drm_xe_engine_class_instance *eci, unsigned int flags)
  22. * @new-bo-map: malloc a new buffer or map BO for each exec
  23. * @new-busy: malloc a new buffer for each exec, try to unbind while buffers valid
  24. * @mmap-free: mmap and free buffer for each exec
  25. + * @mmap-free-huge: mmap huge page and free buffer for each exec
  26. * @mmap-free-race: mmap and free buffer for each exec with race between cpu and gpu access
  27. * @mmap-new: mmap a new buffer for each exec
  28. + * @mmap-new-huge: mmap huge page a new buffer for each exec
  29. * @mmap-new-race: mmap a new buffer for each exec with race between cpu and gpu access
  30. * @malloc-nomemset: malloc single buffer for all execs, skip memset of buffers
  31. * @malloc-mlock-nomemset: malloc and mlock single buffer for all execs, skip memset of buffers
  32. @@ -624,6 +628,7 @@ partial(int fd, struct drm_xe_engine_class_instance *eci, unsigned int flags)
  33. * @malloc-bo-unmap-nomemset: malloc single buffer for all execs, bind and unbind a BO to same address before execs, skip memset of buffers
  34. * @malloc-busy-nomemset: malloc single buffer for all execs, try to unbind while buffer valid, skip memset of buffers
  35. * @mmap-nomemset: mmap single buffer for all execs, skip memset of buffers
  36. + * @mmap-huge-nomemset: mmap huge page single buffer for all execs, skip memset of buffers
  37. * @mmap-shared-nomemset: mmap shared single buffer for all execs, skip memset of buffers
  38. * @mmap-mlock-nomemset: mmap and mlock single buffer for all execs, skip memset of buffers
  39. * @mmap-file-nomemset: mmap single buffer, with file backing, for all execs, skip memset of buffers
  40. @@ -636,8 +641,10 @@ partial(int fd, struct drm_xe_engine_class_instance *eci, unsigned int flags)
  41. * @new-bo-map-nomemset: malloc a new buffer or map BO for each exec, skip memset of buffers
  42. * @new-busy-nomemset: malloc a new buffer for each exec, try to unbind while buffers valid, skip memset of buffers
  43. * @mmap-free-nomemset: mmap and free buffer for each exec, skip memset of buffers
  44. mbrost@lstrano-desk:drivers.gpu.i915.igt-gpu-tools$ git diff > tmp
  45. mbrost@lstrano-desk:drivers.gpu.i915.igt-gpu-tools$ cat tmp
  46. diff --git a/tests/intel/xe_exec_system_allocator.c b/tests/intel/xe_exec_system_allocator.c
  47. index 285b3df5a7..7b85f85e5e 100644
  48. --- a/tests/intel/xe_exec_system_allocator.c
  49. +++ b/tests/intel/xe_exec_system_allocator.c
  50. @@ -504,6 +504,7 @@ partial(int fd, struct drm_xe_engine_class_instance *eci, unsigned int flags)
  51. #define FILE_BACKED (0x1 << 9)
  52. #define LOCK (0x1 << 10)
  53. #define MMAP_SHARED (0x1 << 11)
  54. +#define HUGE_PAGE (0x1 << 12)
  55.  
  56. /**
  57. * SUBTEST: once-%s
  58. @@ -603,6 +604,7 @@ partial(int fd, struct drm_xe_engine_class_instance *eci, unsigned int flags)
  59. * @malloc-bo-unmap: malloc single buffer for all execs, bind and unbind a BO to same address before execs
  60. * @malloc-busy: malloc single buffer for all execs, try to unbind while buffer valid
  61. * @mmap: mmap single buffer for all execs
  62. + * @mmap-huge: mmap huge page single buffer for all execs
  63. * @mmap-shared: mmap shared single buffer for all execs
  64. * @mmap-mlock: mmap and mlock single buffer for all execs
  65. * @mmap-file: mmap single buffer, with file backing, for all execs
  66. @@ -615,8 +617,10 @@ partial(int fd, struct drm_xe_engine_class_instance *eci, unsigned int flags)
  67. * @new-bo-map: malloc a new buffer or map BO for each exec
  68. * @new-busy: malloc a new buffer for each exec, try to unbind while buffers valid
  69. * @mmap-free: mmap and free buffer for each exec
  70. + * @mmap-free-huge: mmap huge page and free buffer for each exec
  71. * @mmap-free-race: mmap and free buffer for each exec with race between cpu and gpu access
  72. * @mmap-new: mmap a new buffer for each exec
  73. + * @mmap-new-huge: mmap huge page a new buffer for each exec
  74. * @mmap-new-race: mmap a new buffer for each exec with race between cpu and gpu access
  75. * @malloc-nomemset: malloc single buffer for all execs, skip memset of buffers
  76. * @malloc-mlock-nomemset: malloc and mlock single buffer for all execs, skip memset of buffers
  77. @@ -624,6 +628,7 @@ partial(int fd, struct drm_xe_engine_class_instance *eci, unsigned int flags)
  78. * @malloc-bo-unmap-nomemset: malloc single buffer for all execs, bind and unbind a BO to same address before execs, skip memset of buffers
  79. * @malloc-busy-nomemset: malloc single buffer for all execs, try to unbind while buffer valid, skip memset of buffers
  80. * @mmap-nomemset: mmap single buffer for all execs, skip memset of buffers
  81. + * @mmap-huge-nomemset: mmap huge page single buffer for all execs, skip memset of buffers
  82. * @mmap-shared-nomemset: mmap shared single buffer for all execs, skip memset of buffers
  83. * @mmap-mlock-nomemset: mmap and mlock single buffer for all execs, skip memset of buffers
  84. * @mmap-file-nomemset: mmap single buffer, with file backing, for all execs, skip memset of buffers
  85. @@ -636,8 +641,10 @@ partial(int fd, struct drm_xe_engine_class_instance *eci, unsigned int flags)
  86. * @new-bo-map-nomemset: malloc a new buffer or map BO for each exec, skip memset of buffers
  87. * @new-busy-nomemset: malloc a new buffer for each exec, try to unbind while buffers valid, skip memset of buffers
  88. * @mmap-free-nomemset: mmap and free buffer for each exec, skip memset of buffers
  89. + * @mmap-free-huge-nomemset: mmap huge page and free buffer for each exec, skip memset of buffers
  90. * @mmap-free-race-nomemset: mmap and free buffer for each exec with race between cpu and gpu access, skip memset of buffers
  91. * @mmap-new-nomemset: mmap a new buffer for each exec, skip memset of buffers
  92. + * @mmap-new-huge-nomemset: mmap huge page new buffer for each exec, skip memset of buffers
  93. * @mmap-new-race-nomemset: mmap a new buffer for each exec with race between cpu and gpu access, skip memset of buffers
  94. */
  95.  
  96. @@ -695,6 +702,10 @@ test_exec(int fd, struct drm_xe_engine_class_instance *eci,
  97. bo_size = xe_bb_size(fd, bo_size);
  98. }
  99. }
  100. + if (flags & HUGE_PAGE) {
  101. + aligned_size = ALIGN(aligned_size, SZ_2M);
  102. + bo_size = ALIGN(bo_size, SZ_2M);
  103. + }
  104.  
  105. data = aligned_alloc(aligned_size, bo_size);
  106. igt_assert(data);
  107. @@ -706,6 +717,9 @@ test_exec(int fd, struct drm_xe_engine_class_instance *eci,
  108. else
  109. mmap_flags |= MAP_PRIVATE;
  110.  
  111. + if (flags & HUGE_PAGE)
  112. + mmap_flags |= MAP_HUGETLB | MAP_HUGE_2MB;
  113. +
  114. if (flags & FILE_BACKED) {
  115. char name[1024];
  116.  
  117. @@ -1089,6 +1103,7 @@ igt_main
  118. { "malloc-busy", BUSY },
  119. { "malloc-bo-unmap", BO_UNMAP },
  120. { "mmap", MMAP },
  121. + { "mmap-huge", MMAP | HUGE_PAGE },
  122. { "mmap-shared", MMAP | LOCK | MMAP_SHARED },
  123. { "mmap-mlock", MMAP | LOCK },
  124. { "mmap-file", MMAP | FILE_BACKED },
  125. @@ -1101,8 +1116,10 @@ igt_main
  126. { "new-bo-map", NEW | BO_MAP },
  127. { "new-busy", NEW | BUSY },
  128. { "mmap-free", MMAP | NEW | FREE },
  129. + { "mmap-free-huge", MMAP | NEW | FREE | HUGE_PAGE },
  130. { "mmap-free-race", MMAP | NEW | FREE | RACE },
  131. { "mmap-new", MMAP | NEW },
  132. + { "mmap-new-huge", MMAP | NEW | HUGE_PAGE },
  133. { "mmap-new-race", MMAP | NEW | RACE },
  134. { "malloc-nomemset", SKIP_MEMSET },
  135. { "malloc-mlock-nomemset", SKIP_MEMSET | LOCK },
  136. @@ -1110,6 +1127,7 @@ igt_main
  137. { "malloc-busy-nomemset", SKIP_MEMSET | BUSY },
  138. { "malloc-bo-unmap-nomemset", SKIP_MEMSET | BO_UNMAP },
  139. { "mmap-nomemset", SKIP_MEMSET | MMAP },
  140. + { "mmap-huge-nomemset", SKIP_MEMSET | MMAP | HUGE_PAGE },
  141. { "mmap-shared-nomemset", SKIP_MEMSET | MMAP | MMAP_SHARED },
  142. { "mmap-mlock-nomemset", SKIP_MEMSET | MMAP | LOCK },
  143. { "mmap-file-nomemset", SKIP_MEMSET | MMAP | FILE_BACKED },
  144. @@ -1122,8 +1140,10 @@ igt_main
  145. { "new-bo-map-nomemset", SKIP_MEMSET | NEW | BO_MAP },
  146. { "new-busy-nomemset", SKIP_MEMSET | NEW | BUSY },
  147. { "mmap-free-nomemset", SKIP_MEMSET | MMAP | NEW | FREE },
  148. + { "mmap-free-huge-nomemset", SKIP_MEMSET | MMAP | NEW | FREE | HUGE_PAGE },
  149. { "mmap-free-race-nomemset", SKIP_MEMSET | MMAP | NEW | FREE | RACE },
  150. { "mmap-new-nomemset", SKIP_MEMSET | MMAP | NEW },
  151. + { "mmap-new-huge-nomemset", SKIP_MEMSET | MMAP | NEW | HUGE_PAGE },
  152. { "mmap-new-race-nomemset", SKIP_MEMSET | MMAP | NEW | RACE },
  153. { NULL },
  154. };
  155.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement