summaryrefslogtreecommitdiff
path: root/common/lib/libc/gmon
AgeCommit message (Collapse)Author
2021-08-30remove lint exclusionchristos
2021-08-14Improved the performance of kernel profiling on MULTIPROCESSOR, and possible ↵ryo
to get profiling data for each CPU. In the current implementation, locks are acquired at the entrance of the mcount internal function, so the higher the number of cores, the more lock conflict occurs, making profiling performance in a MULTIPROCESSOR environment unusable and slow. Profiling buffers has been changed to be reserved for each CPU, improving profiling performance in MP by several to several dozen times. - Eliminated cpu_simple_lock in mcount internal function, using per-CPU buffers. - Add ci_gmon member to struct cpu_info of each MP arch. - Add kern.profiling.percpu node in sysctl tree. - Add new -c <cpuid> option to kgmon(8) to specify the cpuid, like openbsd. For compatibility, if the -c option is not specified, the entire system can be operated as before, and the -p option will get the total profiling data for all CPUs.
2021-08-14don't include "opt_multiprocessor.h" inside an ifdef to work "make depend" ↵ryo
properly.
2019-08-27Enhance the support of LLVM sanitizerskamil
Define _REENTRANT for MKSANITIZER build. This is needed for at least stdio code. This caused new build issued with duplicated symbols in few places and rump kernel code picking different code paths borrowed from libc. Handle all this in one go. Add bsd.sanitizer.mk to share common code used by programs and libraries. Switch from realall to beforeinstall target in .syms files. This is more reliable in MKSANITIZER.
2016-02-28fix infinite recursion through thr_getspecificchristos
2016-01-11Put back the rump-disabling of mcount for librump. Otherwise the worldchristos
breaks because the mcount assembly code is written to call __mcount via the PLT.
2016-01-10__mcount_lock is moved to MI from MD.ryo
because it is needed for all MULTIPROCESSOR arch, but it is exists only in i386 and amd64. ok christos@, on tech-kern@
2012-03-20Remove __P usage.matt
Convert to C89 prototypes.
2012-03-17shut up lintmartin
2009-01-05Temporarily define MCOUNT as a dummy for _RUMPKERNEL to allow buildpooka
to proceed - the MD macros use processor instructions unavailable to userspace and should/could be provided as interfaces.
2006-10-27Simplify the __attribute__ ifdef mess now that __used does the rightuwe
thing for older gccs.
2006-10-26Do the used/unused dance under #ifdef KERNEL too. Prevents mcountuwe
from being optimized away when compiling sh3 kernels with profiling enabled (gcc doesn't see that __mcount, which is written in asm, refers to it).
2006-01-08always compile in the userland portion. XXX: We might want to change thischristos
to __no_instrument_function__ like the kernel does.
2005-12-21conditionally build this on GPROF again.christos
2005-12-21make this compile again.christos
2005-12-21Build also when GPROF is not defined.christos
2005-12-20Merge libkern + libc common files. As requested by core.christos