Symbol: mdeg
usr/src/uts/sun4v/io/mdeg.c
145
if ((mdeg.md_curr = md_get_handle()) == NULL) {
usr/src/uts/sun4v/io/mdeg.c
153
mdeg.maxclnts = MDEG_MAX_CLNTS_INIT;
usr/src/uts/sun4v/io/mdeg.c
155
tblsz = mdeg.maxclnts * sizeof (mdeg_clnt_t);
usr/src/uts/sun4v/io/mdeg.c
156
mdeg.tbl = kmem_zalloc(tblsz, KM_SLEEP);
usr/src/uts/sun4v/io/mdeg.c
158
rw_init(&mdeg.rwlock, NULL, RW_DRIVER, NULL);
usr/src/uts/sun4v/io/mdeg.c
160
mdeg.nclnts = 0;
usr/src/uts/sun4v/io/mdeg.c
165
mutex_init(&mdeg.lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/sun4v/io/mdeg.c
170
mdeg.taskq = taskq_create("mdeg_taskq", 1, minclsyspri, 1,
usr/src/uts/sun4v/io/mdeg.c
174
mdeg.enabled = B_TRUE;
usr/src/uts/sun4v/io/mdeg.c
187
mdeg.enabled = B_FALSE;
usr/src/uts/sun4v/io/mdeg.c
190
taskq_destroy(mdeg.taskq);
usr/src/uts/sun4v/io/mdeg.c
195
kmem_free(mdeg.tbl, mdeg.maxclnts * sizeof (mdeg_clnt_t));
usr/src/uts/sun4v/io/mdeg.c
196
rw_destroy(&mdeg.rwlock);
usr/src/uts/sun4v/io/mdeg.c
201
if (mdeg.md_curr)
usr/src/uts/sun4v/io/mdeg.c
202
(void) md_fini_handle(mdeg.md_curr);
usr/src/uts/sun4v/io/mdeg.c
204
if (mdeg.md_prev)
usr/src/uts/sun4v/io/mdeg.c
205
(void) md_fini_handle(mdeg.md_prev);
usr/src/uts/sun4v/io/mdeg.c
207
mutex_destroy(&mdeg.lock);
usr/src/uts/sun4v/io/mdeg.c
220
ASSERT(RW_WRITE_HELD(&mdeg.rwlock));
usr/src/uts/sun4v/io/mdeg.c
223
for (idx = 0; idx < mdeg.maxclnts; idx++) {
usr/src/uts/sun4v/io/mdeg.c
224
clnt = &mdeg.tbl[idx];
usr/src/uts/sun4v/io/mdeg.c
231
if (idx != mdeg.maxclnts) {
usr/src/uts/sun4v/io/mdeg.c
243
newmaxclnts = mdeg.maxclnts * 2;
usr/src/uts/sun4v/io/mdeg.c
249
oldtblsz = mdeg.maxclnts * sizeof (mdeg_clnt_t);
usr/src/uts/sun4v/io/mdeg.c
250
bcopy(mdeg.tbl, newtbl, oldtblsz);
usr/src/uts/sun4v/io/mdeg.c
257
clnt = &newtbl[mdeg.maxclnts];
usr/src/uts/sun4v/io/mdeg.c
260
kmem_free(mdeg.tbl, oldtblsz);
usr/src/uts/sun4v/io/mdeg.c
261
mdeg.tbl = newtbl;
usr/src/uts/sun4v/io/mdeg.c
262
mdeg.maxclnts = newmaxclnts;
usr/src/uts/sun4v/io/mdeg.c
281
if ((idx < 0) || (idx >= mdeg.maxclnts)) {
usr/src/uts/sun4v/io/mdeg.c
286
clnt = &mdeg.tbl[idx];
usr/src/uts/sun4v/io/mdeg.c
328
mutex_enter(&mdeg.lock);
usr/src/uts/sun4v/io/mdeg.c
393
mutex_exit(&mdeg.lock);
usr/src/uts/sun4v/io/mdeg.c
426
ASSERT(!taskq_member(mdeg.taskq, curthread));
usr/src/uts/sun4v/io/mdeg.c
435
rw_enter(&mdeg.rwlock, RW_WRITER);
usr/src/uts/sun4v/io/mdeg.c
456
mdeg.nclnts++;
usr/src/uts/sun4v/io/mdeg.c
460
rw_exit(&mdeg.rwlock);
usr/src/uts/sun4v/io/mdeg.c
464
rw_exit(&mdeg.rwlock);
usr/src/uts/sun4v/io/mdeg.c
478
ASSERT(!taskq_member(mdeg.taskq, curthread));
usr/src/uts/sun4v/io/mdeg.c
480
rw_enter(&mdeg.rwlock, RW_WRITER);
usr/src/uts/sun4v/io/mdeg.c
484
rw_exit(&mdeg.rwlock);
usr/src/uts/sun4v/io/mdeg.c
497
mdeg.nclnts--;
usr/src/uts/sun4v/io/mdeg.c
499
rw_exit(&mdeg.rwlock);
usr/src/uts/sun4v/io/mdeg.c
519
rw_enter(&mdeg.rwlock, RW_READER);
usr/src/uts/sun4v/io/mdeg.c
520
mutex_enter(&mdeg.lock);
usr/src/uts/sun4v/io/mdeg.c
530
if (mdeg.md_prev) {
usr/src/uts/sun4v/io/mdeg.c
531
(void) md_fini_handle(mdeg.md_prev);
usr/src/uts/sun4v/io/mdeg.c
534
mdeg.md_prev = mdeg.md_curr;
usr/src/uts/sun4v/io/mdeg.c
535
mdeg.md_curr = md_new;
usr/src/uts/sun4v/io/mdeg.c
537
if (mdeg.nclnts == 0) {
usr/src/uts/sun4v/io/mdeg.c
543
for (idx = 0, nclnt = 0; idx < mdeg.maxclnts; idx++) {
usr/src/uts/sun4v/io/mdeg.c
544
clnt = &mdeg.tbl[idx];
usr/src/uts/sun4v/io/mdeg.c
550
++nclnt, mdeg.nclnts);
usr/src/uts/sun4v/io/mdeg.c
552
(void) taskq_dispatch(mdeg.taskq, mdeg_notify_client,
usr/src/uts/sun4v/io/mdeg.c
560
taskq_wait(mdeg.taskq);
usr/src/uts/sun4v/io/mdeg.c
563
mutex_exit(&mdeg.lock);
usr/src/uts/sun4v/io/mdeg.c
564
rw_exit(&mdeg.rwlock);
usr/src/uts/sun4v/io/mdeg.c
590
ASSERT(RW_READ_HELD(&mdeg.rwlock));
usr/src/uts/sun4v/io/mdeg.c
592
if (!mdeg.enabled) {
usr/src/uts/sun4v/io/mdeg.c
612
md_prev_start = mdeg_find_start_node(mdeg.md_prev, clnt->pspec);
usr/src/uts/sun4v/io/mdeg.c
617
md_curr_start = mdeg_find_start_node(mdeg.md_curr, clnt->pspec);
usr/src/uts/sun4v/io/mdeg.c
623
mdd = md_diff_init(mdeg.md_prev, md_prev_start, mdeg.md_curr,
usr/src/uts/sun4v/io/mdeg.c
735
res->added.mdp = mdeg.md_curr;
usr/src/uts/sun4v/io/mdeg.c
745
res->removed.mdp = mdeg.md_prev;
usr/src/uts/sun4v/io/mdeg.c
755
res->match_curr.mdp = mdeg.md_curr;
usr/src/uts/sun4v/io/mdeg.c
756
res->match_prev.mdp = mdeg.md_prev;
usr/src/uts/sun4v/io/mdeg.c
79
} mdeg;
usr/src/uts/sun4v/io/mdeg.c
915
for (idx = 0; idx < mdeg.maxclnts; idx++) {
usr/src/uts/sun4v/io/mdeg.c
916
clnt = &(mdeg.tbl[idx]);
usr/src/uts/sun4v/io/vds.c
408
mdeg_handle_t mdeg; /* handle for MDEG operations */
usr/src/uts/sun4v/io/vds.c
5418
(void) mdeg_unregister(vds->mdeg);
usr/src/uts/sun4v/io/vds.c
5422
vds->mdeg = 0;
usr/src/uts/sun4v/io/vds.c
7443
&vds->mdeg) != MDEG_SUCCESS) {