tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Sane support for SMP kernel profiling



In article <20101211041353.GA20866%coyotepoint.com@localhost>,
Thor Simon  <tls%coyotepoint.com@localhost> wrote:
>-=-=-=-=-=-
>
>We've fixed SMP kernel profiling, which worked poorly at best (particularly
>on systems with high HZ) since a lock was taken and released around every
>single entry to mcount.  Thanks to Andy for the suggestion as to how.
>
>The following patch includes:
>
>       * A convenience change to build.sh to make it simpler to
>         cross-build profiling kernels (-p)
>
>       * Per-CPU profiling space
>
>       * Changes to kgmon to fetch profiling data per-CPU rather than
>         globally on MP systems.  gprof already knows how to merge
>         multiple profiles so there seems little reason to include this
>         functionaity in the kernel code or kgmon, both of which should
>         be as small and simple as possible.
>
>       * The MCOUNT macro is cleaned up to an inline function on
>         architectures which define PROFILE_TASTEFUL_FUNCTIONS.  The idea is
>         to eventually eliminate the macro.
>
>       * The kernel and userspace mcount implementations are separated
>         into two source files to clean up (some of) a really ugly #ifdef
>         mess.
>
>       * A correct, non-locking mcount implementation is included for
>         i386.  Other ports still build and should be no worse than they
>         were before, but also no better.
>
>Patch is against netbsd-5.  Comments much appreciated.

Perhaps move it from common to sys and libc since nothing is shared anymore.

christos



Home | Main Index | Thread Index | Old Index