mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-17 15:27:36 +00:00
Inform hwpmc(4) of a thread's impending demise prior to invoking sched_throw().
Debugging help: fabient Review and testing by: fabient
This commit is contained in:
parent
a0c703bf21
commit
16d95d4f92
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=198464
@ -27,6 +27,7 @@
|
||||
*/
|
||||
|
||||
#include "opt_witness.h"
|
||||
#include "opt_hwpmc_hooks.h"
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
@ -47,6 +48,9 @@ __FBSDID("$FreeBSD$");
|
||||
#include <sys/ktr.h>
|
||||
#include <sys/umtx.h>
|
||||
#include <sys/cpuset.h>
|
||||
#ifdef HWPMC_HOOKS
|
||||
#include <sys/pmckern.h>
|
||||
#endif
|
||||
|
||||
#include <security/audit/audit.h>
|
||||
|
||||
@ -417,6 +421,14 @@ thread_exit(void)
|
||||
panic ("thread_exit: Last thread exiting on its own");
|
||||
}
|
||||
}
|
||||
#ifdef HWPMC_HOOKS
|
||||
/*
|
||||
* If this thread is part of a process that is being tracked by hwpmc(4),
|
||||
* inform the module of the thread's impending exit.
|
||||
*/
|
||||
if (PMC_PROC_IS_USING_PMCS(td->td_proc))
|
||||
PMC_SWITCH_CONTEXT(td, PMC_FN_CSW_OUT);
|
||||
#endif
|
||||
PROC_UNLOCK(p);
|
||||
thread_lock(td);
|
||||
/* Save our tick information with both the thread and proc locked */
|
||||
|
Loading…
Reference in New Issue
Block a user