Lines Matching refs:entity

112  *	   - per vnode (entity->vme_vnode_hash)
113 * - per shared amp (entity->vme_amp_hash)
117 * (entity->vme_anon_hash)
131 * Each entity structure tracks which pages have been already visited for
132 * that entity (via previously inspected processes) so that these pages are
204 * The entity structure keeps the current rss/swap counts for each entity
206 * been visited for the entity.
222 mod_hash_t *vme_vnode_hash; /* vnodes visited for entity */
223 mod_hash_t *vme_amp_hash; /* shared amps visited for entity */
224 mod_hash_t *vme_anon_hash; /* COW anons visited for entity */
225 vmusage_t vme_result; /* identifies entity and results */
229 * Hash of entities visited within a zone, and an entity for the zone
360 * Free an entity, and hashes of visited objects for that entity.
365 vmu_entity_t *entity = (vmu_entity_t *)val;
367 if (entity->vme_vnode_hash != NULL)
368 i_mod_hash_clear_nosync(entity->vme_vnode_hash);
369 if (entity->vme_amp_hash != NULL)
370 i_mod_hash_clear_nosync(entity->vme_amp_hash);
371 if (entity->vme_anon_hash != NULL)
372 i_mod_hash_clear_nosync(entity->vme_anon_hash);
374 entity->vme_next = vmu_data.vmu_free_entities;
375 vmu_data.vmu_free_entities = entity;
379 * Free zone entity, and all hashes of entities inside that zone,
458 * Allocate hashes for tracking vm objects visited for an entity.
464 vmu_entity_t *entity;
467 entity = vmu_data.vmu_free_entities;
470 bzero(&entity->vme_result, sizeof (vmusage_t));
472 entity = kmem_zalloc(sizeof (vmu_entity_t), KM_SLEEP);
474 entity->vme_result.vmu_id = id;
475 entity->vme_result.vmu_zoneid = zoneid;
476 entity->vme_result.vmu_type = type;
478 if (entity->vme_vnode_hash == NULL)
479 entity->vme_vnode_hash = mod_hash_create_ptrhash(
483 if (entity->vme_amp_hash == NULL)
484 entity->vme_amp_hash = mod_hash_create_ptrhash(
488 if (entity->vme_anon_hash == NULL)
489 entity->vme_anon_hash = mod_hash_create_ptrhash(
493 entity->vme_next = vmu_data.vmu_entities;
494 vmu_data.vmu_entities = entity;
497 return (entity);
501 * Allocate a zone entity, and hashes for tracking visited vm objects
639 vmu_entity_t *entity;
642 (mod_hash_val_t *)&entity);
644 entity = vmu_alloc_entity(id, type, zoneid);
646 (mod_hash_key_t)(uintptr_t)id, (mod_hash_val_t)entity,
650 return (entity);
1075 * is looked up in each entity to see if it has been already counted. Private
1076 * anon pages are checked per entity to ensure that COW pages are not
1080 * Bounds not backed by the amp are looked up in the vnode for each entity
1091 vmu_entity_t *entity;
1309 * is no reason to track them per entity.
1315 for (entity = vmu_entities; entity != NULL;
1316 entity = entity->vme_next_calc) {
1318 result = &entity->vme_result;
1320 * Track COW anons per entity so
1323 if (vmu_find_insert_anon(entity->vme_anon_hash,
1337 for (entity = vmu_entities; entity != NULL;
1338 entity = entity->vme_next_calc) {
1339 result = &entity->vme_result;
1389 for (entity = vmu_entities; entity != NULL;
1390 entity = entity->vme_next_calc) {
1393 result = &entity->vme_result;
1397 VMUSAGE_TYPE_VNODE ? entity->vme_vnode_hash:
1398 entity->vme_amp_hash,
1409 * Range visited for this entity
1445 * in the process'es address space for each relevant entity.
1620 * Determine which entity types are relevant and allocate the hashes to
1623 * vnodes, amps and anons are tracked per entity, so that they are
1898 vmu_entity_t *entity;
1996 for (entity = vmu_data.vmu_entities; entity != NULL;
1997 entity = entity->vme_next) {
1998 *result = entity->vme_result;