Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 54b08f5f authored by Thomas Renninger's avatar Thomas Renninger Committed by Ingo Molnar
Browse files

perf timechart: Fix max number of cpus



Currently numcpus is determined in pid_put_sample which is only
called on sched_switch/sched_wakeup sample processing.

On a machine with a lot cpus I often saw the last cpu missing.

Check for (max) numcpus on every event happening and in the
beginning. -> fixes the issue for me.

Signed-off-by: default avatarThomas Renninger <trenn@suse.de>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Cc: lenb@kernel.org
LKML-Reference: <1298842606-55712-6-git-send-email-trenn@suse.de>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent e8530720
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -264,9 +264,6 @@ pid_put_sample(int pid, int type, unsigned int cpu, u64 start, u64 end)
		c->start_time = start;
	if (p->start_time == 0 || p->start_time > start)
		p->start_time = start;

	if (cpu > numcpus)
		numcpus = cpu;
}

#define MAX_CPUS 4096
@@ -511,6 +508,9 @@ static int process_sample_event(event_t *event __used,
		if (!event_str)
			return 0;

		if (sample->cpu > numcpus)
			numcpus = sample->cpu;

		if (strcmp(event_str, "power:cpu_idle") == 0) {
			struct power_processor_entry *ppe = (void *)te;
			if (ppe->state == (u32)PWR_EVENT_EXIT)