mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-11 01:46:14 +00:00
tests/gem_reloc_vs_gpu: add forked versions
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
f4b93781be
commit
2c7166eb7a
@ -270,6 +270,35 @@ static void do_test(int fd, bool faulting_reloc)
|
|||||||
igt_enable_prefault();
|
igt_enable_prefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define INTERRUPT (1 << 0)
|
||||||
|
#define FAULTING (1 << 1)
|
||||||
|
#define THRASH (1 << 2)
|
||||||
|
#define ALL_FLAGS (INTERRUPT | FAULTING | THRASH)
|
||||||
|
static void do_forked_test(int fd, unsigned flags)
|
||||||
|
{
|
||||||
|
int num_threads = sysconf(_SC_NPROCESSORS_ONLN);
|
||||||
|
|
||||||
|
if (flags & THRASH) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
igt_fork(i, num_threads * 4) {
|
||||||
|
/* re-create process local data */
|
||||||
|
bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
|
||||||
|
batch = intel_batchbuffer_alloc(bufmgr, devid);
|
||||||
|
|
||||||
|
if (flags & INTERRUPT)
|
||||||
|
igt_fork_signal_helper();
|
||||||
|
|
||||||
|
do_test(fd, flags & FAULTING);
|
||||||
|
|
||||||
|
if (flags & INTERRUPT)
|
||||||
|
igt_stop_signal_helper();
|
||||||
|
}
|
||||||
|
|
||||||
|
igt_waitchildren();
|
||||||
|
}
|
||||||
|
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
#define MAX_BLT_SIZE 128
|
#define MAX_BLT_SIZE 128
|
||||||
@ -304,6 +333,14 @@ int main(int argc, char **argv)
|
|||||||
do_test(fd, true);
|
do_test(fd, true);
|
||||||
igt_stop_signal_helper();
|
igt_stop_signal_helper();
|
||||||
|
|
||||||
|
for (unsigned flags = 0; flags <= ALL_FLAGS; flags++) {
|
||||||
|
igt_subtest_f("forked%s%s%s",
|
||||||
|
flags & INTERRUPT ? "-interruptible" : "",
|
||||||
|
flags & FAULTING ? "-faulting-reloc" : "",
|
||||||
|
flags & THRASH ? "-thrashing" : "")
|
||||||
|
do_forked_test(fd, flags);
|
||||||
|
}
|
||||||
|
|
||||||
igt_fixture {
|
igt_fixture {
|
||||||
intel_batchbuffer_free(batch);
|
intel_batchbuffer_free(batch);
|
||||||
drm_intel_bufmgr_destroy(bufmgr);
|
drm_intel_bufmgr_destroy(bufmgr);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user