Lines Matching refs:zone

33  * the set of processes owned by a particular, zone, project, task, or user.
57 * - Figure out proc's collectives (zone, project, task, and/or user).
87 * - Figure out proc's collectives (zone, project, task, and/or user).
123 * - A zone.
124 * - A project, task, or user within a zone.
127 * uid, regardless of which zone the process is in. For instance,
128 * project 0 in the global zone and project 0 in a non global zone are
138 #include <sys/zone.h>
153 #include <sys/zone.h>
205 * (zone, project, etc), and hashes of vm structures that have already
229 * Hash of entities visited within a zone, and an entity for the zone
379 * Free zone entity, and all hashes of entities inside that zone,
385 vmu_zone_t *zone = (vmu_zone_t *)val;
387 if (zone->vmz_zone != NULL) {
388 vmu_free_entity((mod_hash_val_t)zone->vmz_zone);
389 zone->vmz_zone = NULL;
391 if (zone->vmz_projects_hash != NULL)
392 i_mod_hash_clear_nosync(zone->vmz_projects_hash);
393 if (zone->vmz_tasks_hash != NULL)
394 i_mod_hash_clear_nosync(zone->vmz_tasks_hash);
395 if (zone->vmz_rusers_hash != NULL)
396 i_mod_hash_clear_nosync(zone->vmz_rusers_hash);
397 if (zone->vmz_eusers_hash != NULL)
398 i_mod_hash_clear_nosync(zone->vmz_eusers_hash);
399 zone->vmz_next = vmu_data.vmu_free_zones;
400 vmu_data.vmu_free_zones = zone;
440 "vmusage zone hash", VMUSAGE_HASH_SIZE, vmu_free_zone);
501 * Allocate a zone entity, and hashes for tracking visited vm objects
502 * for projects, tasks, and users within that zone.
507 vmu_zone_t *zone;
510 zone = vmu_data.vmu_free_zones;
513 zone->vmz_next = NULL;
514 zone->vmz_zone = NULL;
516 zone = kmem_zalloc(sizeof (vmu_zone_t), KM_SLEEP);
519 zone->vmz_id = id;
522 zone->vmz_zone = vmu_alloc_entity(id, VMUSAGE_ZONE, id);
525 VMUSAGE_ALL_PROJECTS)) != 0 && zone->vmz_projects_hash == NULL)
526 zone->vmz_projects_hash = mod_hash_create_idhash(
530 != 0 && zone->vmz_tasks_hash == NULL)
531 zone->vmz_tasks_hash = mod_hash_create_idhash(
535 != 0 && zone->vmz_rusers_hash == NULL)
536 zone->vmz_rusers_hash = mod_hash_create_idhash(
540 != 0 && zone->vmz_eusers_hash == NULL)
541 zone->vmz_eusers_hash = mod_hash_create_idhash(
544 return (zone);
1451 vmu_zone_t *zone;
1470 (mod_hash_val_t *)&zone);
1472 zone = vmu_alloc_zone(p->p_zone->zone_id);
1475 (mod_hash_val_t)zone, (mod_hash_hndl_t)0);
1478 if (zone->vmz_zone != NULL) {
1479 tmp = zone->vmz_zone;
1485 tmp = vmu_find_insert_entity(zone->vmz_projects_hash,
1487 zone->vmz_id);
1493 tmp = vmu_find_insert_entity(zone->vmz_tasks_hash,
1494 p->p_task->tk_tkid, VMUSAGE_TASKS, zone->vmz_id);
1500 tmp = vmu_find_insert_entity(zone->vmz_rusers_hash,
1501 crgetruid(p->p_cred), VMUSAGE_RUSERS, zone->vmz_id);
1507 tmp = vmu_find_insert_entity(zone->vmz_eusers_hash,
1508 crgetuid(p->p_cred), VMUSAGE_EUSERS, zone->vmz_id);
1743 * and zone to determine which cached results should be copied.
1778 /* count results for current zone */
1783 /* Do not return "other-zone" results to non-global zones */
1789 * If non-global zone requests VMUSAGE_SYSTEM, fake
1829 /* Skip "other zone" results if not requested */
1872 * Counts rss and swap by zone, project, task, and/or user. The flags argument
1874 * results from more than one zone are "flattened" to the local zone if the
1875 * caller is not the global zone.