1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-26 16:18:31 +00:00

Merge r221279,221280 from largeSMP project:

pmc_mask doesn't need to use memory barriers.

Reviewed by:	fabient
Tested by:	several
MFC after:	1 week
This commit is contained in:
Attilio Rao 2011-05-16 23:35:14 +00:00
parent d59dd76c22
commit 7c1b3c0920
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=222002

View File

@ -4083,7 +4083,7 @@ pmc_process_interrupt(int cpu, struct pmc *pm, struct trapframe *tf,
done: done:
/* mark CPU as needing processing */ /* mark CPU as needing processing */
atomic_set_rel_int(&pmc_cpumask, (1 << cpu)); atomic_set_int(&pmc_cpumask, (1 << cpu));
return (error); return (error);
} }
@ -4193,7 +4193,7 @@ pmc_process_samples(int cpu)
break; break;
if (ps->ps_nsamples == PMC_SAMPLE_INUSE) { if (ps->ps_nsamples == PMC_SAMPLE_INUSE) {
/* Need a rescan at a later time. */ /* Need a rescan at a later time. */
atomic_set_rel_int(&pmc_cpumask, (1 << cpu)); atomic_set_int(&pmc_cpumask, (1 << cpu));
break; break;
} }
@ -4782,7 +4782,7 @@ pmc_cleanup(void)
PMCDBG(MOD,INI,0, "%s", "cleanup"); PMCDBG(MOD,INI,0, "%s", "cleanup");
/* switch off sampling */ /* switch off sampling */
atomic_store_rel_int(&pmc_cpumask, 0); pmc_cpumask = 0;
pmc_intr = NULL; pmc_intr = NULL;
sx_xlock(&pmc_sx); sx_xlock(&pmc_sx);