Open Source
Kernprof News

Release v0.12.2 has the following changes:

  • Improves the scalability performance of Call Graph and Annotated Call Graph modes.
Release v0.12.1 has the following changes:
  • Fixes a small shortcoming in the "-r" ("reset") functionality -- now resets more kernel state that really needs to be reset.
Release v0.12 has the following changes:
  • Properly supports a 32-bit kernprof command executing against a sparc64 kernel.
  • Fix backtrace mode to generate proper /proc/profile/PC_samples data. Compatible with kernprof command version 1.5.
Release v0.11.1 has the following changes:
  • A slight improvement to the "-p " functionality that more clearly distinguishes the process being in a sleep state vs. actively executing in the scheduler.
  • Proper build support for module "version information" being either enabled or disabled. Previously, CONFIG_MODVERSIONS had to be disabled.
Release v0.11 has the following changes:
  • Add a new kernprof command argument, -p , whereby you can profile a specific individual process.
Release v0.10.3 has the following bugfixes:
  • Fix an uninitialized variable in PC_sample() that incorrectly skipped the recognition that a PC fell into the range of a kernel module.
  • Fix a conditional test in initialization code for "call backtrace" mode that was causing an unnecessary deallocation/reallocation of memory for a data structure.
  • Additional one-line tweaks to the sparc64 port, adding a call to flush_register_window() before calling the profiler hook.
Release v0.10.2 has the following bugfixes:
  • Hopefully makes the sparc64 port work again.
Release v0.10.1 has the following bugfixes:
  • Fully supports Call Backtrace mode for i386, in combination with the new kernprof command v1.3.1, distributed as kernprof-1.3.tar.gz.
Release v0.10 has the following bugfixes:
  • Refines the 0.9.6 fix for a recursive page-fault that would occasionally hang the system while doing mcount counting (contributed by Niels Christiansen, Requires the new kernprof command v1.3, distributed as kernprof-1.3.tar.gz.
Release v0.9.6 has the following bugfixes:
  • Fixes a recursive page-fault that would occasionally hang the system while doing mcount counting (contributed by Niels Christiansen,
  • Automatically enables CONFIG_X86_MSR to enable "pmc" performance counter functionality.
  • Automatically enables CONFIG_PROFILING if CONFIG_MCOUNT is turned on.
Release v1.2.1 of the 'kernprof' command has the following bugfixes:
  • Properly types an argument to allow for future use of CPU masks larger than "unsigned long".
Release v0.9.5 has the following bugfixes:
  • Fixes a run-time unresolved extern of "mcount" for CONFIG_MCOUNT and modules.
Release v0.9.4 has the following bugfixes:
  • Fixes a compile-time problem for MCOUNT and modules.
Release v0.9.3 has the following bugfixes:
  • For ia64, fix the "scheduler call graph" mode to walk back the entire call graph, instead of showing just the last caller to the scheduler.
Release v0.9.1 has the following bugfixes:
  • Mandate "mcount" config (CONFIG_MCOUNT) for new profiling mode Scheduler Call Graph.
  • For ia64, fix a compile error brought about by changes resulting from the linux-2.4.2-ia64-010405.patch.
Release v0.9 has the following bugfixes:
  • Added new profiling mode: Scheduler Call Graph. This mode produces a call graph for the paths to schedule() (kernel/sched.c), which assists analysis of why context-switches occurred. A new kernprof command (v1.2) is required.
Release v0.8.1 has the following bugfixes:
  • Ported to Linux 2.4.1, and small tweaks made to the mips64 port.
Release v0.7 has the following bugfixes:
  • Ported to Linux 2.4.0-test11.
  • Additions in i386's semaphore.c asm code for proper CONFIG_FRAME_POINTER and MCOUNT usage. Hopefully merges more cleanly with XFS patch.
Release v0.6 has the following new features and bugfixes:
  • Ported to Linux 2.4.0-test5.
  • Added support for MIPS64. Also initial IA64 support (still partial).
  • Some internal reorganization to accomodate MIPS64 and IA64.
  • /dev/profile ioctls have changed --- they now use the _IO macros.
  • IA32 performance counters are now available on UP systems compiled with local APIC support.
  • Bug triggered by executing APM code in the BIOS during profiling has been fixed. We now attribute such samples to FIRMWARE. Thanks to Anton Blanchard for the report and the proposed fix.
Release v0.5 has the following new features and bugfixes:
  • Ported to Linux 2.3.49 and devfs.
  • Functions called in the slow path of semaphore operations now appear in profiles.
  • Changed the format of call backtraces. This change is not user visible but it does mean that you need to upgrade kernprof to v0.8 or later.
  • Restricting profiling to a subset of available CPUs is now supported for all profiling modes. Needs kernprof v0.8 or later.
Release v0.4 has the following new features and bugfixes:
  • Added support for call count profiling.
  • Changed major and minor numbers for profiling devices to comply with the info in devices.txt. See the FAQ for what devices are needed.
Release v0.3 has the following new features and bugfixes:
  • Added support for call trace sampling (an extension of PC sampling).
  • Added support for sampling driven by the performance monitoring counters. Currently limited to SMP P6-family systems.
  • Changed major number for profiling devices to 192.
Release v0.2 has the following new features and bugfixes:
  • Added support for call graph profiling in conjunction with gprof.
  • Include the user level program kernprof, which is used to control the profiling facilities.
  • General bugfixes.
Release v0.1 supports the following:
  • Can be compiled as a module so that it can be used on running kernels and it can be unloaded when done so that resources are not wasted.
  • Supports PC sampling.
The following features are planned for future releases:
  • gprof support for call backtracing