Lines Matching defs:dstate
814 dtrace_dstate_t *dstate = &vstate->dtvs_dynvars;
815 uintptr_t base = (uintptr_t)dstate->dtds_base +
816 (dstate->dtds_hashsize * sizeof (dtrace_dynhash_t));
841 chunkoffs = (addr - base) % dstate->dtds_chunksize;
846 if (chunkoffs + sz > dstate->dtds_chunksize)
858 DTRACE_RANGE_REMAIN(remain, addr, dvar, dstate->dtds_chunksize);
1740 dtrace_dynvar_clean(dtrace_dstate_t *dstate)
1748 dcpu = &dstate->dtds_percpu[i];
1788 rinser = &dstate->dtds_percpu[j];
1845 dcpu = &dstate->dtds_percpu[i];
1868 dstate->dtds_state = DTRACE_DSTATE_CLEAN;
1880 dtrace_dynvar(dtrace_dstate_t *dstate, uint_t nkeys,
1885 dtrace_dynhash_t *hash = dstate->dtds_hash;
1888 dtrace_dstate_percpu_t *dcpu = &dstate->dtds_percpu[me];
1890 size_t chunksize = dstate->dtds_chunksize;
1969 bucket = hashval % dstate->dtds_hashsize;
2189 switch (dstate->dtds_state) {
2191 void *sp = &dstate->dtds_state;
2203 dcpu = &dstate->dtds_percpu[cpu];
2273 dcpu = &dstate->dtds_percpu[me];
6107 dtrace_dstate_t *dstate = &vstate->dtvs_dynvars;
6590 dvar = dtrace_dynvar(dstate, 2, key,
6624 dvar = dtrace_dynvar(dstate, 2, key,
6738 dvar = dtrace_dynvar(dstate, nkeys, key,
6780 dvar = dtrace_dynvar(dstate, nkeys, key,
14357 dtrace_dstate_init(dtrace_dstate_t *dstate, size_t size)
14359 size_t hashsize, maxper, min, chunksize = dstate->dtds_chunksize;
14366 ASSERT(dstate->dtds_base == NULL && dstate->dtds_percpu == NULL);
14368 bzero(dstate, sizeof (dtrace_dstate_t));
14370 if ((dstate->dtds_chunksize = chunksize) == 0)
14371 dstate->dtds_chunksize = DTRACE_DYNVAR_CHUNKSIZE;
14373 VERIFY(dstate->dtds_chunksize < LONG_MAX);
14375 if (size < (min = dstate->dtds_chunksize + sizeof (dtrace_dynhash_t)))
14381 dstate->dtds_size = size;
14382 dstate->dtds_base = base;
14383 dstate->dtds_percpu = kmem_cache_alloc(dtrace_state_cache, KM_SLEEP);
14384 bzero(dstate->dtds_percpu,
14387 hashsize = size / (dstate->dtds_chunksize + sizeof (dtrace_dynhash_t));
14392 dstate->dtds_hashsize = hashsize;
14393 dstate->dtds_hash = dstate->dtds_base;
14403 dstate->dtds_hash[i].dtdh_chain = &dtrace_dynhash_sink;
14420 maxper = (maxper / dstate->dtds_chunksize) * dstate->dtds_chunksize;
14423 dstate->dtds_percpu[i].dtdsc_free = dvar = start;
14444 dstate->dtds_chunksize);
14446 if ((uintptr_t)next + dstate->dtds_chunksize >= limit)
14463 dtrace_dstate_fini(dtrace_dstate_t *dstate)
14467 if (dstate->dtds_base == NULL)
14470 kmem_free(dstate->dtds_base, dstate->dtds_size);
14471 kmem_cache_free(dtrace_state_cache, dstate->dtds_percpu);
18083 dtrace_dstate_t *dstate;
18109 dstate = &state->dts_vstate.dtvs_dynvars;
18112 dtrace_dstate_percpu_t *dcpu = &dstate->dtds_percpu[i];