diff --git a/src/libsysprof/sysprof-scheduler-details.c b/src/libsysprof/sysprof-scheduler-details.c index 317e74d2..67aa1a52 100644 --- a/src/libsysprof/sysprof-scheduler-details.c +++ b/src/libsysprof/sysprof-scheduler-details.c @@ -77,10 +77,10 @@ sysprof_scheduler_details_event_cb (const SysprofPerfEvent *event, goto finish; if (self->started_at == 0 || end < self->started_at) - return; + goto finish; if (self->ended_at != 0 && begin > self->ended_at) - return; + goto finish; raw = event->tracepoint.raw; @@ -90,6 +90,12 @@ sysprof_scheduler_details_event_cb (const SysprofPerfEvent *event, prev_comm[sizeof prev_comm-1] = 0; + /* Ignore the kswapper events because they just clutter up the + * timeline from things that would otherwise stand out. + */ + if (memcmp (prev_comm, "swapper/", strlen ("swapper/")) == 0) + goto finish; + g_snprintf (name, sizeof name, "CPU %u", cpu); sysprof_capture_writer_add_mark (self->recording->writer,