5045 use atomic_{inc,dec}_* instead of atomic_add_*
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Garrett D'Amore <garrett@damore.org> Approved by: Robert Mustacchi <rm@joyent.com> Author: Josef 'Jeff' Sipek <josef.sipek@nexenta.com> illumos/illumos-gate@1a5e258f54
This commit is contained in:
parent
d7c2a73f1d
commit
48aeb6148d
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/vendor-sys/illumos/dist/; revision=270195
@ -1182,7 +1182,7 @@ fasttrap_proc_lookup(pid_t pid)
|
||||
mutex_enter(&fprc->ftpc_mtx);
|
||||
mutex_exit(&bucket->ftb_mtx);
|
||||
fprc->ftpc_rcount++;
|
||||
atomic_add_64(&fprc->ftpc_acount, 1);
|
||||
atomic_inc_64(&fprc->ftpc_acount);
|
||||
ASSERT(fprc->ftpc_acount <= fprc->ftpc_rcount);
|
||||
mutex_exit(&fprc->ftpc_mtx);
|
||||
|
||||
@ -1212,7 +1212,7 @@ fasttrap_proc_lookup(pid_t pid)
|
||||
mutex_enter(&fprc->ftpc_mtx);
|
||||
mutex_exit(&bucket->ftb_mtx);
|
||||
fprc->ftpc_rcount++;
|
||||
atomic_add_64(&fprc->ftpc_acount, 1);
|
||||
atomic_inc_64(&fprc->ftpc_acount);
|
||||
ASSERT(fprc->ftpc_acount <= fprc->ftpc_rcount);
|
||||
mutex_exit(&fprc->ftpc_mtx);
|
||||
|
||||
@ -1424,7 +1424,7 @@ fasttrap_provider_free(fasttrap_provider_t *provider)
|
||||
* count of active providers on the associated process structure.
|
||||
*/
|
||||
if (!provider->ftp_retired) {
|
||||
atomic_add_64(&provider->ftp_proc->ftpc_acount, -1);
|
||||
atomic_dec_64(&provider->ftp_proc->ftpc_acount);
|
||||
ASSERT(provider->ftp_proc->ftpc_acount <
|
||||
provider->ftp_proc->ftpc_rcount);
|
||||
}
|
||||
@ -1499,7 +1499,7 @@ fasttrap_provider_retire(pid_t pid, const char *name, int mprov)
|
||||
* bucket lock therefore protects the integrity of the provider hash
|
||||
* table.
|
||||
*/
|
||||
atomic_add_64(&fp->ftp_proc->ftpc_acount, -1);
|
||||
atomic_dec_64(&fp->ftp_proc->ftpc_acount);
|
||||
ASSERT(fp->ftp_proc->ftpc_acount < fp->ftp_proc->ftpc_rcount);
|
||||
|
||||
fp->ftp_retired = 1;
|
||||
@ -1595,10 +1595,10 @@ fasttrap_add_probe(fasttrap_probe_spec_t *pdata)
|
||||
pdata->ftps_mod, pdata->ftps_func, name_str) != 0)
|
||||
continue;
|
||||
|
||||
atomic_add_32(&fasttrap_total, 1);
|
||||
atomic_inc_32(&fasttrap_total);
|
||||
|
||||
if (fasttrap_total > fasttrap_max) {
|
||||
atomic_add_32(&fasttrap_total, -1);
|
||||
atomic_dec_32(&fasttrap_total);
|
||||
goto no_mem;
|
||||
}
|
||||
|
||||
|
@ -171,9 +171,9 @@ profile_create(hrtime_t interval, const char *name, int kind)
|
||||
if (dtrace_probe_lookup(profile_id, NULL, NULL, name) != 0)
|
||||
return;
|
||||
|
||||
atomic_add_32(&profile_total, 1);
|
||||
atomic_inc_32(&profile_total);
|
||||
if (profile_total > profile_max) {
|
||||
atomic_add_32(&profile_total, -1);
|
||||
atomic_dec_32(&profile_total);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -328,7 +328,7 @@ profile_destroy(void *arg, dtrace_id_t id, void *parg)
|
||||
kmem_free(prof, sizeof (profile_probe_t));
|
||||
|
||||
ASSERT(profile_total >= 1);
|
||||
atomic_add_32(&profile_total, -1);
|
||||
atomic_dec_32(&profile_total);
|
||||
}
|
||||
|
||||
/*ARGSUSED*/
|
||||
|
@ -1244,9 +1244,9 @@ vn_open_upgrade(
|
||||
ASSERT(vp->v_type == VREG);
|
||||
|
||||
if (filemode & FREAD)
|
||||
atomic_add_32(&(vp->v_rdcnt), 1);
|
||||
atomic_inc_32(&vp->v_rdcnt);
|
||||
if (filemode & FWRITE)
|
||||
atomic_add_32(&(vp->v_wrcnt), 1);
|
||||
atomic_inc_32(&vp->v_wrcnt);
|
||||
|
||||
}
|
||||
|
||||
@ -1259,11 +1259,11 @@ vn_open_downgrade(
|
||||
|
||||
if (filemode & FREAD) {
|
||||
ASSERT(vp->v_rdcnt > 0);
|
||||
atomic_add_32(&(vp->v_rdcnt), -1);
|
||||
atomic_dec_32(&vp->v_rdcnt);
|
||||
}
|
||||
if (filemode & FWRITE) {
|
||||
ASSERT(vp->v_wrcnt > 0);
|
||||
atomic_add_32(&(vp->v_wrcnt), -1);
|
||||
atomic_dec_32(&vp->v_wrcnt);
|
||||
}
|
||||
|
||||
}
|
||||
@ -2918,7 +2918,7 @@ fs_new_caller_id()
|
||||
{
|
||||
static uint64_t next_caller_id = 0LL; /* First call returns 1 */
|
||||
|
||||
return ((u_longlong_t)atomic_add_64_nv(&next_caller_id, 1));
|
||||
return ((u_longlong_t)atomic_inc_64_nv(&next_caller_id));
|
||||
}
|
||||
|
||||
/*
|
||||
@ -3146,9 +3146,9 @@ fop_open(
|
||||
*/
|
||||
if ((*vpp)->v_type == VREG) {
|
||||
if (mode & FREAD)
|
||||
atomic_add_32(&((*vpp)->v_rdcnt), 1);
|
||||
atomic_inc_32(&(*vpp)->v_rdcnt);
|
||||
if (mode & FWRITE)
|
||||
atomic_add_32(&((*vpp)->v_wrcnt), 1);
|
||||
atomic_inc_32(&(*vpp)->v_wrcnt);
|
||||
}
|
||||
|
||||
VOPXID_MAP_CR(vp, cr);
|
||||
@ -3162,9 +3162,9 @@ fop_open(
|
||||
*/
|
||||
VOPSTATS_UPDATE(vp, open);
|
||||
if ((vp->v_type == VREG) && (mode & FREAD))
|
||||
atomic_add_32(&(vp->v_rdcnt), -1);
|
||||
atomic_dec_32(&vp->v_rdcnt);
|
||||
if ((vp->v_type == VREG) && (mode & FWRITE))
|
||||
atomic_add_32(&(vp->v_wrcnt), -1);
|
||||
atomic_dec_32(&vp->v_wrcnt);
|
||||
} else {
|
||||
/*
|
||||
* Some filesystems will return a different vnode,
|
||||
@ -3178,13 +3178,13 @@ fop_open(
|
||||
if (*vpp != vp && *vpp != NULL) {
|
||||
vn_copypath(vp, *vpp);
|
||||
if (((*vpp)->v_type == VREG) && (mode & FREAD))
|
||||
atomic_add_32(&((*vpp)->v_rdcnt), 1);
|
||||
atomic_inc_32(&(*vpp)->v_rdcnt);
|
||||
if ((vp->v_type == VREG) && (mode & FREAD))
|
||||
atomic_add_32(&(vp->v_rdcnt), -1);
|
||||
atomic_dec_32(&vp->v_rdcnt);
|
||||
if (((*vpp)->v_type == VREG) && (mode & FWRITE))
|
||||
atomic_add_32(&((*vpp)->v_wrcnt), 1);
|
||||
atomic_inc_32(&(*vpp)->v_wrcnt);
|
||||
if ((vp->v_type == VREG) && (mode & FWRITE))
|
||||
atomic_add_32(&(vp->v_wrcnt), -1);
|
||||
atomic_dec_32(&vp->v_wrcnt);
|
||||
}
|
||||
}
|
||||
VN_RELE(vp);
|
||||
@ -3213,11 +3213,11 @@ fop_close(
|
||||
if ((vp->v_type == VREG) && (count == 1)) {
|
||||
if (flag & FREAD) {
|
||||
ASSERT(vp->v_rdcnt > 0);
|
||||
atomic_add_32(&(vp->v_rdcnt), -1);
|
||||
atomic_dec_32(&vp->v_rdcnt);
|
||||
}
|
||||
if (flag & FWRITE) {
|
||||
ASSERT(vp->v_wrcnt > 0);
|
||||
atomic_add_32(&(vp->v_wrcnt), -1);
|
||||
atomic_dec_32(&vp->v_wrcnt);
|
||||
}
|
||||
}
|
||||
return (err);
|
||||
|
@ -178,7 +178,7 @@ dbuf_hash_insert(dmu_buf_impl_t *db)
|
||||
db->db_hash_next = h->hash_table[idx];
|
||||
h->hash_table[idx] = db;
|
||||
mutex_exit(DBUF_HASH_MUTEX(h, idx));
|
||||
atomic_add_64(&dbuf_hash_count, 1);
|
||||
atomic_inc_64(&dbuf_hash_count);
|
||||
|
||||
return (NULL);
|
||||
}
|
||||
@ -212,7 +212,7 @@ dbuf_hash_remove(dmu_buf_impl_t *db)
|
||||
*dbp = db->db_hash_next;
|
||||
db->db_hash_next = NULL;
|
||||
mutex_exit(DBUF_HASH_MUTEX(h, idx));
|
||||
atomic_add_64(&dbuf_hash_count, -1);
|
||||
atomic_dec_64(&dbuf_hash_count);
|
||||
}
|
||||
|
||||
static arc_evict_func_t dbuf_do_evict;
|
||||
|
@ -1817,9 +1817,9 @@ spa_load_verify_done(zio_t *zio)
|
||||
if (error) {
|
||||
if ((BP_GET_LEVEL(bp) != 0 || DMU_OT_IS_METADATA(type)) &&
|
||||
type != DMU_OT_INTENT_LOG)
|
||||
atomic_add_64(&sle->sle_meta_count, 1);
|
||||
atomic_inc_64(&sle->sle_meta_count);
|
||||
else
|
||||
atomic_add_64(&sle->sle_data_count, 1);
|
||||
atomic_inc_64(&sle->sle_data_count);
|
||||
}
|
||||
zio_data_buf_free(zio->io_data, zio->io_size);
|
||||
|
||||
|
@ -87,8 +87,8 @@ typedef struct refcount {
|
||||
#define refcount_destroy_many(rc, number) ((rc)->rc_count = 0)
|
||||
#define refcount_is_zero(rc) ((rc)->rc_count == 0)
|
||||
#define refcount_count(rc) ((rc)->rc_count)
|
||||
#define refcount_add(rc, holder) atomic_add_64_nv(&(rc)->rc_count, 1)
|
||||
#define refcount_remove(rc, holder) atomic_add_64_nv(&(rc)->rc_count, -1)
|
||||
#define refcount_add(rc, holder) atomic_inc_64_nv(&(rc)->rc_count)
|
||||
#define refcount_remove(rc, holder) atomic_dec_64_nv(&(rc)->rc_count)
|
||||
#define refcount_add_many(rc, number, holder) \
|
||||
atomic_add_64_nv(&(rc)->rc_count, number)
|
||||
#define refcount_remove_many(rc, number, holder) \
|
||||
|
@ -102,7 +102,7 @@ static vdc_stats_t vdc_stats = {
|
||||
{ "misses", KSTAT_DATA_UINT64 }
|
||||
};
|
||||
|
||||
#define VDCSTAT_BUMP(stat) atomic_add_64(&vdc_stats.stat.value.ui64, 1);
|
||||
#define VDCSTAT_BUMP(stat) atomic_inc_64(&vdc_stats.stat.value.ui64);
|
||||
|
||||
static int
|
||||
vdev_cache_offset_compare(const void *a1, const void *a2)
|
||||
|
@ -976,7 +976,7 @@ vdev_uberblock_sync_done(zio_t *zio)
|
||||
uint64_t *good_writes = zio->io_private;
|
||||
|
||||
if (zio->io_error == 0 && zio->io_vd->vdev_top->vdev_ms_array != 0)
|
||||
atomic_add_64(good_writes, 1);
|
||||
atomic_inc_64(good_writes);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1051,7 +1051,7 @@ vdev_label_sync_done(zio_t *zio)
|
||||
uint64_t *good_writes = zio->io_private;
|
||||
|
||||
if (zio->io_error == 0)
|
||||
atomic_add_64(good_writes, 1);
|
||||
atomic_inc_64(good_writes);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1240,7 +1240,7 @@ zfs_domount(vfs_t *vfsp, char *osname)
|
||||
dmu_objset_disown(zfsvfs->z_os, zfsvfs);
|
||||
zfsvfs_free(zfsvfs);
|
||||
} else {
|
||||
atomic_add_32(&zfs_active_fs_count, 1);
|
||||
atomic_inc_32(&zfs_active_fs_count);
|
||||
}
|
||||
|
||||
return (error);
|
||||
@ -2158,7 +2158,7 @@ zfs_freevfs(vfs_t *vfsp)
|
||||
|
||||
zfsvfs_free(zfsvfs);
|
||||
|
||||
atomic_add_32(&zfs_active_fs_count, -1);
|
||||
atomic_dec_32(&zfs_active_fs_count);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -426,7 +426,7 @@ zio_inject_fault(char *name, int flags, int *id, zinject_record_t *record)
|
||||
handler->zi_spa = spa;
|
||||
handler->zi_record = *record;
|
||||
list_insert_tail(&inject_handlers, handler);
|
||||
atomic_add_32(&zio_injection_enabled, 1);
|
||||
atomic_inc_32(&zio_injection_enabled);
|
||||
|
||||
rw_exit(&inject_lock);
|
||||
}
|
||||
@ -503,7 +503,7 @@ zio_clear_fault(int id)
|
||||
|
||||
spa_inject_delref(handler->zi_spa);
|
||||
kmem_free(handler, sizeof (inject_handler_t));
|
||||
atomic_add_32(&zio_injection_enabled, -1);
|
||||
atomic_dec_32(&zio_injection_enabled);
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
@ -517,19 +517,19 @@ fm_ereport_post(nvlist_t *ereport, int evc_flag)
|
||||
|
||||
(void) nvlist_size(ereport, &nvl_size, NV_ENCODE_NATIVE);
|
||||
if (nvl_size > ERPT_DATA_SZ || nvl_size == 0) {
|
||||
atomic_add_64(&erpt_kstat_data.erpt_dropped.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.erpt_dropped.value.ui64);
|
||||
return;
|
||||
}
|
||||
|
||||
if (sysevent_evc_bind(FM_ERROR_CHAN, &error_chan,
|
||||
EVCH_CREAT|EVCH_HOLD_PEND) != 0) {
|
||||
atomic_add_64(&erpt_kstat_data.erpt_dropped.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.erpt_dropped.value.ui64);
|
||||
return;
|
||||
}
|
||||
|
||||
if (sysevent_evc_publish(error_chan, EC_FM, ESC_FM_ERROR,
|
||||
SUNW_VENDOR, FM_PUB, ereport, evc_flag) != 0) {
|
||||
atomic_add_64(&erpt_kstat_data.erpt_dropped.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.erpt_dropped.value.ui64);
|
||||
(void) sysevent_evc_unbind(error_chan);
|
||||
return;
|
||||
}
|
||||
@ -791,8 +791,7 @@ fm_payload_set(nvlist_t *payload, ...)
|
||||
va_end(ap);
|
||||
|
||||
if (ret)
|
||||
atomic_add_64(
|
||||
&erpt_kstat_data.payload_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.payload_set_failed.value.ui64);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -825,24 +824,24 @@ fm_ereport_set(nvlist_t *ereport, int version, const char *erpt_class,
|
||||
int ret;
|
||||
|
||||
if (version != FM_EREPORT_VERS0) {
|
||||
atomic_add_64(&erpt_kstat_data.erpt_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.erpt_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
|
||||
(void) snprintf(ereport_class, FM_MAX_CLASS, "%s.%s",
|
||||
FM_EREPORT_CLASS, erpt_class);
|
||||
if (nvlist_add_string(ereport, FM_CLASS, ereport_class) != 0) {
|
||||
atomic_add_64(&erpt_kstat_data.erpt_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.erpt_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
|
||||
if (nvlist_add_uint64(ereport, FM_EREPORT_ENA, ena)) {
|
||||
atomic_add_64(&erpt_kstat_data.erpt_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.erpt_set_failed.value.ui64);
|
||||
}
|
||||
|
||||
if (nvlist_add_nvlist(ereport, FM_EREPORT_DETECTOR,
|
||||
(nvlist_t *)detector) != 0) {
|
||||
atomic_add_64(&erpt_kstat_data.erpt_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.erpt_set_failed.value.ui64);
|
||||
}
|
||||
|
||||
va_start(ap, detector);
|
||||
@ -851,7 +850,7 @@ fm_ereport_set(nvlist_t *ereport, int version, const char *erpt_class,
|
||||
va_end(ap);
|
||||
|
||||
if (ret)
|
||||
atomic_add_64(&erpt_kstat_data.erpt_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.erpt_set_failed.value.ui64);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -874,19 +873,19 @@ static int
|
||||
fm_fmri_hc_set_common(nvlist_t *fmri, int version, const nvlist_t *auth)
|
||||
{
|
||||
if (version != FM_HC_SCHEME_VERSION) {
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return (0);
|
||||
}
|
||||
|
||||
if (nvlist_add_uint8(fmri, FM_VERSION, version) != 0 ||
|
||||
nvlist_add_string(fmri, FM_FMRI_SCHEME, FM_FMRI_SCHEME_HC) != 0) {
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return (0);
|
||||
}
|
||||
|
||||
if (auth != NULL && nvlist_add_nvlist(fmri, FM_FMRI_AUTHORITY,
|
||||
(nvlist_t *)auth) != 0) {
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return (0);
|
||||
}
|
||||
|
||||
@ -918,22 +917,22 @@ fm_fmri_hc_set(nvlist_t *fmri, int version, const nvlist_t *auth,
|
||||
pairs[i] = fm_nvlist_create(nva);
|
||||
if (nvlist_add_string(pairs[i], FM_FMRI_HC_NAME, name) != 0 ||
|
||||
nvlist_add_string(pairs[i], FM_FMRI_HC_ID, idstr) != 0) {
|
||||
atomic_add_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
}
|
||||
}
|
||||
va_end(ap);
|
||||
|
||||
if (nvlist_add_nvlist_array(fmri, FM_FMRI_HC_LIST, pairs, npairs) != 0)
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
|
||||
for (i = 0; i < npairs; i++)
|
||||
fm_nvlist_destroy(pairs[i], FM_NVA_RETAIN);
|
||||
|
||||
if (snvl != NULL) {
|
||||
if (nvlist_add_nvlist(fmri, FM_FMRI_HC_SPECIFIC, snvl) != 0) {
|
||||
atomic_add_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -958,7 +957,7 @@ fm_fmri_dev_set(nvlist_t *fmri_dev, int version, const nvlist_t *auth,
|
||||
int err = 0;
|
||||
|
||||
if (version != DEV_SCHEME_VERSION0) {
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -979,7 +978,7 @@ fm_fmri_dev_set(nvlist_t *fmri_dev, int version, const nvlist_t *auth,
|
||||
err |= nvlist_add_string(fmri_dev, FM_FMRI_DEV_TGTPTLUN0, tpl0);
|
||||
|
||||
if (err)
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
|
||||
}
|
||||
|
||||
@ -1004,35 +1003,35 @@ fm_fmri_cpu_set(nvlist_t *fmri_cpu, int version, const nvlist_t *auth,
|
||||
uint64_t *failedp = &erpt_kstat_data.fmri_set_failed.value.ui64;
|
||||
|
||||
if (version < CPU_SCHEME_VERSION1) {
|
||||
atomic_add_64(failedp, 1);
|
||||
atomic_inc_64(failedp);
|
||||
return;
|
||||
}
|
||||
|
||||
if (nvlist_add_uint8(fmri_cpu, FM_VERSION, version) != 0) {
|
||||
atomic_add_64(failedp, 1);
|
||||
atomic_inc_64(failedp);
|
||||
return;
|
||||
}
|
||||
|
||||
if (nvlist_add_string(fmri_cpu, FM_FMRI_SCHEME,
|
||||
FM_FMRI_SCHEME_CPU) != 0) {
|
||||
atomic_add_64(failedp, 1);
|
||||
atomic_inc_64(failedp);
|
||||
return;
|
||||
}
|
||||
|
||||
if (auth != NULL && nvlist_add_nvlist(fmri_cpu, FM_FMRI_AUTHORITY,
|
||||
(nvlist_t *)auth) != 0)
|
||||
atomic_add_64(failedp, 1);
|
||||
atomic_inc_64(failedp);
|
||||
|
||||
if (nvlist_add_uint32(fmri_cpu, FM_FMRI_CPU_ID, cpu_id) != 0)
|
||||
atomic_add_64(failedp, 1);
|
||||
atomic_inc_64(failedp);
|
||||
|
||||
if (cpu_maskp != NULL && nvlist_add_uint8(fmri_cpu, FM_FMRI_CPU_MASK,
|
||||
*cpu_maskp) != 0)
|
||||
atomic_add_64(failedp, 1);
|
||||
atomic_inc_64(failedp);
|
||||
|
||||
if (serial_idp == NULL || nvlist_add_string(fmri_cpu,
|
||||
FM_FMRI_CPU_SERIAL_ID, (char *)serial_idp) != 0)
|
||||
atomic_add_64(failedp, 1);
|
||||
atomic_inc_64(failedp);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1053,49 +1052,47 @@ fm_fmri_mem_set(nvlist_t *fmri, int version, const nvlist_t *auth,
|
||||
const char *unum, const char *serial, uint64_t offset)
|
||||
{
|
||||
if (version != MEM_SCHEME_VERSION0) {
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!serial && (offset != (uint64_t)-1)) {
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
|
||||
if (nvlist_add_uint8(fmri, FM_VERSION, version) != 0) {
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
|
||||
if (nvlist_add_string(fmri, FM_FMRI_SCHEME, FM_FMRI_SCHEME_MEM) != 0) {
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
|
||||
if (auth != NULL) {
|
||||
if (nvlist_add_nvlist(fmri, FM_FMRI_AUTHORITY,
|
||||
(nvlist_t *)auth) != 0) {
|
||||
atomic_add_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
}
|
||||
}
|
||||
|
||||
if (nvlist_add_string(fmri, FM_FMRI_MEM_UNUM, unum) != 0) {
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
}
|
||||
|
||||
if (serial != NULL) {
|
||||
if (nvlist_add_string_array(fmri, FM_FMRI_MEM_SERIAL_ID,
|
||||
(char **)&serial, 1) != 0) {
|
||||
atomic_add_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
}
|
||||
if (offset != (uint64_t)-1) {
|
||||
if (nvlist_add_uint64(fmri, FM_FMRI_MEM_OFFSET,
|
||||
offset) != 0) {
|
||||
atomic_add_64(&erpt_kstat_data.
|
||||
fmri_set_failed.value.ui64, 1);
|
||||
}
|
||||
if (offset != (uint64_t)-1 && nvlist_add_uint64(fmri,
|
||||
FM_FMRI_MEM_OFFSET, offset) != 0) {
|
||||
atomic_inc_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1105,28 +1102,28 @@ fm_fmri_zfs_set(nvlist_t *fmri, int version, uint64_t pool_guid,
|
||||
uint64_t vdev_guid)
|
||||
{
|
||||
if (version != ZFS_SCHEME_VERSION0) {
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
|
||||
if (nvlist_add_uint8(fmri, FM_VERSION, version) != 0) {
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
|
||||
if (nvlist_add_string(fmri, FM_FMRI_SCHEME, FM_FMRI_SCHEME_ZFS) != 0) {
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
|
||||
if (nvlist_add_uint64(fmri, FM_FMRI_ZFS_POOL, pool_guid) != 0) {
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
}
|
||||
|
||||
if (vdev_guid != 0) {
|
||||
if (nvlist_add_uint64(fmri, FM_FMRI_ZFS_VDEV, vdev_guid) != 0) {
|
||||
atomic_add_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1306,20 +1303,20 @@ fm_fmri_hc_create(nvlist_t *fmri, int version, const nvlist_t *auth,
|
||||
*/
|
||||
if (nvlist_lookup_nvlist_array(bboard, FM_FMRI_HC_LIST, &hcl, &n)
|
||||
!= 0) {
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
if (nvlist_lookup_string(hcl[i], FM_FMRI_HC_NAME,
|
||||
&hcname) != 0) {
|
||||
atomic_add_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
if (nvlist_lookup_string(hcl[i], FM_FMRI_HC_ID, &hcid) != 0) {
|
||||
atomic_add_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1331,8 +1328,8 @@ fm_fmri_hc_create(nvlist_t *fmri, int version, const nvlist_t *auth,
|
||||
fm_nvlist_destroy(pairs[j],
|
||||
FM_NVA_RETAIN);
|
||||
}
|
||||
atomic_add_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -1356,8 +1353,8 @@ fm_fmri_hc_create(nvlist_t *fmri, int version, const nvlist_t *auth,
|
||||
fm_nvlist_destroy(pairs[j],
|
||||
FM_NVA_RETAIN);
|
||||
}
|
||||
atomic_add_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -1368,7 +1365,7 @@ fm_fmri_hc_create(nvlist_t *fmri, int version, const nvlist_t *auth,
|
||||
*/
|
||||
if (nvlist_add_nvlist_array(fmri, FM_FMRI_HC_LIST, pairs,
|
||||
npairs + n) != 0) {
|
||||
atomic_add_64(&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1378,8 +1375,8 @@ fm_fmri_hc_create(nvlist_t *fmri, int version, const nvlist_t *auth,
|
||||
|
||||
if (snvl != NULL) {
|
||||
if (nvlist_add_nvlist(fmri, FM_FMRI_HC_SPECIFIC, snvl) != 0) {
|
||||
atomic_add_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64, 1);
|
||||
atomic_inc_64(
|
||||
&erpt_kstat_data.fmri_set_failed.value.ui64);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -24,8 +24,6 @@
|
||||
* Use is subject to license terms.
|
||||
*/
|
||||
|
||||
#pragma ident "%Z%%M% %I% %E% SMI"
|
||||
|
||||
#include <sys/fasttrap_isa.h>
|
||||
#include <sys/fasttrap_impl.h>
|
||||
#include <sys/dtrace.h>
|
||||
@ -1410,7 +1408,7 @@ fasttrap_getreg(struct regs *rp, uint_t reg)
|
||||
value = dtrace_getreg_win(reg, 1);
|
||||
dtrace_interrupt_enable(cookie);
|
||||
|
||||
atomic_add_64(&fasttrap_getreg_fast_cnt, 1);
|
||||
atomic_inc_64(&fasttrap_getreg_fast_cnt);
|
||||
|
||||
return (value);
|
||||
}
|
||||
@ -1435,7 +1433,7 @@ fasttrap_getreg(struct regs *rp, uint_t reg)
|
||||
if ((long)mpcb->mpcb_spbuf[i] != rp->r_sp)
|
||||
continue;
|
||||
|
||||
atomic_add_64(&fasttrap_getreg_mpcb_cnt, 1);
|
||||
atomic_inc_64(&fasttrap_getreg_mpcb_cnt);
|
||||
return (rwin[i].rw_local[reg - 16]);
|
||||
} while (i > 0);
|
||||
}
|
||||
@ -1455,7 +1453,7 @@ fasttrap_getreg(struct regs *rp, uint_t reg)
|
||||
if ((long)mpcb->mpcb_spbuf[i] != rp->r_sp)
|
||||
continue;
|
||||
|
||||
atomic_add_64(&fasttrap_getreg_mpcb_cnt, 1);
|
||||
atomic_inc_64(&fasttrap_getreg_mpcb_cnt);
|
||||
return (rwin[i].rw_local[reg - 16]);
|
||||
} while (i > 0);
|
||||
}
|
||||
@ -1466,7 +1464,7 @@ fasttrap_getreg(struct regs *rp, uint_t reg)
|
||||
v32[0] = 0;
|
||||
}
|
||||
|
||||
atomic_add_64(&fasttrap_getreg_slow_cnt, 1);
|
||||
atomic_inc_64(&fasttrap_getreg_slow_cnt);
|
||||
return (value);
|
||||
|
||||
err:
|
||||
@ -1505,7 +1503,7 @@ fasttrap_putreg(struct regs *rp, uint_t reg, ulong_t value)
|
||||
if (dtrace_getotherwin() > 0) {
|
||||
dtrace_putreg_win(reg, value);
|
||||
dtrace_interrupt_enable(cookie);
|
||||
atomic_add_64(&fasttrap_putreg_fast_cnt, 1);
|
||||
atomic_inc_64(&fasttrap_putreg_fast_cnt);
|
||||
return;
|
||||
}
|
||||
dtrace_interrupt_enable(cookie);
|
||||
@ -1536,7 +1534,7 @@ fasttrap_putreg(struct regs *rp, uint_t reg, ulong_t value)
|
||||
continue;
|
||||
|
||||
rwin[i].rw_local[reg - 16] = value;
|
||||
atomic_add_64(&fasttrap_putreg_mpcb_cnt, 1);
|
||||
atomic_inc_64(&fasttrap_putreg_mpcb_cnt);
|
||||
return;
|
||||
} while (i > 0);
|
||||
}
|
||||
@ -1549,7 +1547,7 @@ fasttrap_putreg(struct regs *rp, uint_t reg, ulong_t value)
|
||||
rwin[mpcb->mpcb_wbcnt].rw_local[reg - 16] = value;
|
||||
mpcb->mpcb_spbuf[mpcb->mpcb_wbcnt] = (caddr_t)rp->r_sp;
|
||||
mpcb->mpcb_wbcnt++;
|
||||
atomic_add_64(&fasttrap_putreg_mpcb_cnt, 1);
|
||||
atomic_inc_64(&fasttrap_putreg_mpcb_cnt);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
@ -1567,7 +1565,7 @@ fasttrap_putreg(struct regs *rp, uint_t reg, ulong_t value)
|
||||
continue;
|
||||
|
||||
rwin[i].rw_local[reg - 16] = v32;
|
||||
atomic_add_64(&fasttrap_putreg_mpcb_cnt, 1);
|
||||
atomic_inc_64(&fasttrap_putreg_mpcb_cnt);
|
||||
return;
|
||||
} while (i > 0);
|
||||
}
|
||||
@ -1580,12 +1578,12 @@ fasttrap_putreg(struct regs *rp, uint_t reg, ulong_t value)
|
||||
rwin[mpcb->mpcb_wbcnt].rw_local[reg - 16] = v32;
|
||||
mpcb->mpcb_spbuf[mpcb->mpcb_wbcnt] = (caddr_t)rp->r_sp;
|
||||
mpcb->mpcb_wbcnt++;
|
||||
atomic_add_64(&fasttrap_putreg_mpcb_cnt, 1);
|
||||
atomic_inc_64(&fasttrap_putreg_mpcb_cnt);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
atomic_add_64(&fasttrap_putreg_slow_cnt, 1);
|
||||
atomic_inc_64(&fasttrap_putreg_slow_cnt);
|
||||
return;
|
||||
|
||||
err:
|
||||
|
Loading…
Reference in New Issue
Block a user