tools/lib/perf/Documentation/examples/sampling.c

Source file repositories/reference/linux-study-clean/tools/lib/perf/Documentation/examples/sampling.c

File Facts

System
Linux kernel
Corpus path
tools/lib/perf/Documentation/examples/sampling.c
Extension
.c
Size
2371 bytes
Lines
120
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: implementation source
Status
source implementation candidate

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

while ((event = perf_mmap__read_event(map)) != NULL) {
			int cpu, pid, tid;
			__u64 ip, period, *array;
			union u64_swap u;

			array = event->sample.array;

			ip = *array;
			array++;

			u.val64 = *array;
			pid = u.val32[0];
			tid = u.val32[1];
			array++;

			u.val64 = *array;
			cpu = u.val32[0];
			array++;

			period = *array;

			fprintf(stdout, "cpu %3d, pid %6d, tid %6d, ip %20llx, period %20llu\n",
				cpu, pid, tid, ip, period);

			perf_mmap__consume(map);
		}

		perf_mmap__read_done(map);
	}

out_evlist:
	perf_evlist__delete(evlist);
out_cpus:
	perf_cpu_map__put(cpus);
	return err;
}

Annotation

Implementation Notes