diff options
author | fabient <fabient@FreeBSD.org> | 2009-10-21 18:46:36 +0000 |
---|---|---|
committer | fabient <fabient@FreeBSD.org> | 2009-10-21 18:46:36 +0000 |
commit | 2e71479d978d5eac4c2198f65c5746f58ad46b8c (patch) | |
tree | 3cfb29df454700b0d389da56bb25c2316e5cfa9b /sys/dev/hwpmc | |
parent | aca95fc6ebc7a5b5f133ed7fe6a54d4c2b530780 (diff) | |
download | FreeBSD-src-2e71479d978d5eac4c2198f65c5746f58ad46b8c.zip FreeBSD-src-2e71479d978d5eac4c2198f65c5746f58ad46b8c.tar.gz |
Handle the case where there is only one PMC in the system.
Approved by: jkoshy (mentor)
MFC after: 3 days
Diffstat (limited to 'sys/dev/hwpmc')
-rw-r--r-- | sys/dev/hwpmc/hwpmc_mod.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/hwpmc/hwpmc_mod.c b/sys/dev/hwpmc/hwpmc_mod.c index 0c1d35b..d2e581a 100644 --- a/sys/dev/hwpmc/hwpmc_mod.c +++ b/sys/dev/hwpmc/hwpmc_mod.c @@ -790,7 +790,7 @@ pmc_link_target_process(struct pmc *pm, struct pmc_process *pp) KASSERT(PMC_IS_VIRTUAL_MODE(PMC_TO_MODE(pm)), ("[pmc,%d] Attaching a non-process-virtual pmc=%p to pid=%d", __LINE__, pm, pp->pp_proc->p_pid)); - KASSERT(pp->pp_refcnt >= 0 && pp->pp_refcnt < ((int) md->pmd_npmc - 1), + KASSERT(pp->pp_refcnt >= 0 && pp->pp_refcnt <= ((int) md->pmd_npmc - 1), ("[pmc,%d] Illegal reference count %d for process record %p", __LINE__, pp->pp_refcnt, (void *) pp)); @@ -843,7 +843,7 @@ pmc_unlink_target_process(struct pmc *pm, struct pmc_process *pp) KASSERT(pm != NULL && pp != NULL, ("[pmc,%d] Null pm %p or pp %p", __LINE__, pm, pp)); - KASSERT(pp->pp_refcnt >= 1 && pp->pp_refcnt < (int) md->pmd_npmc, + KASSERT(pp->pp_refcnt >= 1 && pp->pp_refcnt <= (int) md->pmd_npmc, ("[pmc,%d] Illegal ref count %d on process record %p", __LINE__, pp->pp_refcnt, (void *) pp)); @@ -1110,7 +1110,7 @@ pmc_detach_one_process(struct proc *p, struct pmc *pm, int flags) * descriptor from the target hash table and unset the P_HWPMC * flag in the struct proc. */ - KASSERT(pp->pp_refcnt >= 0 && pp->pp_refcnt < (int) md->pmd_npmc, + KASSERT(pp->pp_refcnt >= 0 && pp->pp_refcnt <= (int) md->pmd_npmc, ("[pmc,%d] Illegal refcnt %d for process struct %p", __LINE__, pp->pp_refcnt, pp)); @@ -1785,7 +1785,7 @@ pmc_hook_handler(struct thread *td, int function, void *arg) pmc_detach_one_process(td->td_proc, pm, PMC_FLAG_NONE); - KASSERT(pp->pp_refcnt >= 0 && pp->pp_refcnt < (int) md->pmd_npmc, + KASSERT(pp->pp_refcnt >= 0 && pp->pp_refcnt <= (int) md->pmd_npmc, ("[pmc,%d] Illegal ref count %d on pp %p", __LINE__, pp->pp_refcnt, pp)); |