Remove unncessary atomic operation when reading process flags in
PMC_PROC_IS_USING_PMCS macro. Invocations of this macro are not synchronized with setting/clearing of P_HWPMC flag, so the atomic operation here isn't needed. Removing the atomic operation provides noticeable improvement (5-6%) on some scheduler-intensive workloads with HWPMC_HOOKS enabled on an 8C Sandy Bridge Xeon system. Sponsored by: Intel Reviewed by: jhb MFC after: 1 week
This commit is contained in:
parent
9d2e20143f
commit
a49bdc9a25
@ -201,8 +201,7 @@ do { \
|
||||
|
||||
/* Check if a process is using HWPMCs.*/
|
||||
#define PMC_PROC_IS_USING_PMCS(p) \
|
||||
(__predict_false(atomic_load_acq_int(&(p)->p_flag) & \
|
||||
P_HWPMC))
|
||||
(__predict_false(p->p_flag & P_HWPMC))
|
||||
|
||||
/* Check if a thread have pending user capture. */
|
||||
#define PMC_IS_PENDING_CALLCHAIN(p) \
|
||||
|
Loading…
Reference in New Issue
Block a user