1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-28 21:22:08 +00:00

Kernel+LibC: Add PERF_EVENT_SIGNPOST

This event will be used by userspace programs wanting to mark
interesting high-level events in the profile. :^)
This commit is contained in:
Andreas Kling 2021-08-11 20:04:03 +02:00
parent 84053816d5
commit 0d997d48ea
4 changed files with 17 additions and 0 deletions

View file

@ -137,6 +137,10 @@ KResult PerformanceEventBuffer::append_with_ip_and_bp(ProcessID pid, ThreadID ti
break;
case PERF_EVENT_SYSCALL:
break;
case PERF_EVENT_SIGNPOST:
event.data.signpost.arg1 = arg1;
event.data.signpost.arg2 = arg2;
break;
default:
return EINVAL;
}
@ -231,6 +235,11 @@ bool PerformanceEventBuffer::to_json_impl(Serializer& object) const
case PERF_EVENT_SYSCALL:
event_object.add("type", "syscall");
break;
case PERF_EVENT_SIGNPOST:
event_object.add("type"sv, "signpost"sv);
event_object.add("arg1"sv, event.data.signpost.arg1);
event_object.add("arg2"sv, event.data.signpost.arg2);
break;
}
event_object.add("pid", event.pid);
event_object.add("tid", event.tid);