Lines Matching defs:racct
46 #include <sys/racct.h>
62 FEATURE(racct, "Resource Accounting");
74 SYSCTL_NODE(_kern, OID_AUTO, racct, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
90 MTX_SYSINIT(racct_lock, &racct_lock, "racct lock", MTX_DEF);
94 static void racct_sub_racct(struct racct *dest, const struct racct *src);
100 SDT_PROVIDER_DEFINE(racct);
101 SDT_PROBE_DEFINE3(racct, , rusage, add,
103 SDT_PROBE_DEFINE3(racct, , rusage, add__failure,
105 SDT_PROBE_DEFINE3(racct, , rusage, add__buf,
107 SDT_PROBE_DEFINE3(racct, , rusage, add__cred,
109 SDT_PROBE_DEFINE3(racct, , rusage, add__force,
111 SDT_PROBE_DEFINE3(racct, , rusage, set,
113 SDT_PROBE_DEFINE3(racct, , rusage, set__failure,
115 SDT_PROBE_DEFINE3(racct, , rusage, set__force,
117 SDT_PROBE_DEFINE3(racct, , rusage, sub,
119 SDT_PROBE_DEFINE3(racct, , rusage, sub__cred,
121 SDT_PROBE_DEFINE1(racct, , racct, create,
122 "struct racct *");
123 SDT_PROBE_DEFINE1(racct, , racct, destroy,
124 "struct racct *");
125 SDT_PROBE_DEFINE2(racct, , racct, join,
126 "struct racct *", "struct racct *");
127 SDT_PROBE_DEFINE2(racct, , racct, join__failure,
128 "struct racct *", "struct racct *");
129 SDT_PROBE_DEFINE2(racct, , racct, leave,
130 "struct racct *", "struct racct *");
313 * They should both calculate in the same way so that the racct %cpu
389 racct_add_racct(struct racct *dest, const struct racct *src)
411 racct_sub_racct(struct racct *dest, const struct racct *src)
442 racct_create(struct racct **racctp)
448 SDT_PROBE1(racct, , racct, create, racctp);
450 KASSERT(*racctp == NULL, ("racct already allocated"));
456 racct_destroy_locked(struct racct **racctp)
458 struct racct *racct;
463 SDT_PROBE1(racct, , racct, destroy, racctp);
467 KASSERT(*racctp != NULL, ("NULL racct"));
469 racct = *racctp;
476 KASSERT(racct->r_resources[i] == 0,
477 ("destroying non-empty racct: "
479 racct->r_resources[i], i));
481 uma_zfree(racct_zone, racct);
486 racct_destroy(struct racct **racct)
493 racct_destroy_locked(racct);
498 * Increase consumption of 'resource' by 'amount' for 'racct',
503 racct_adjust_resource(struct racct *racct, int resource,
509 KASSERT(racct != NULL, ("NULL racct"));
511 racct->r_resources[resource] += amount;
512 if (racct->r_resources[resource] < 0) {
515 racct->r_resources[resource] = 0;
519 * There are some cases where the racct %cpu resource would grow
521 * the process %cpu usage to the ucred racct containers. If too
528 (racct->r_resources[RACCT_PCTCPU] > 100 * 1000000 * (int64_t)MAXCPU))
529 racct->r_resources[RACCT_PCTCPU] = 100 * 1000000 * (int64_t)MAXCPU;
549 SDT_PROBE3(racct, , rusage, add__failure, p, resource, amount);
571 SDT_PROBE3(racct, , rusage, add, p, resource, amount);
590 SDT_PROBE3(racct, , rusage, add__force, p, resource, amount);
622 SDT_PROBE3(racct, , rusage, add__cred, cred, resource, amount);
640 SDT_PROBE3(racct, , rusage, add__buf, p, bp, is_write);
675 * Resources in per-credential racct containers may decay.
678 * old amount that has decayed in the ucred racct containers.
693 SDT_PROBE3(racct, , rusage, set__failure, p, resource,
735 SDT_PROBE3(racct, , rusage, set__force, p, resource, amount);
750 SDT_PROBE3(racct, , rusage, set, p, resource, amount);
843 SDT_PROBE3(racct, , rusage, sub, p, resource, amount);
887 SDT_PROBE3(racct, , rusage, sub__cred, cred, resource, amount);
912 * Create racct for the child process.
1078 racct_move(struct racct *dest, struct racct *src)
1102 msleep(p->p_racct, &p->p_mtx, 0, "racct",
1186 racct_decay_callback(struct racct *racct, void *dummy1, void *dummy2)
1194 rctl_throttle_decay(racct, RACCT_READBPS);
1195 rctl_throttle_decay(racct, RACCT_WRITEBPS);
1196 rctl_throttle_decay(racct, RACCT_READIOPS);
1197 rctl_throttle_decay(racct, RACCT_WRITEIOPS);
1200 r_old = racct->r_resources[RACCT_PCTCPU];
1207 racct->r_resources[RACCT_PCTCPU] = r_new;
1303 * for %cpu resource only after ucred racct containers have been
1349 racct_zone = uma_zcreate("racct", sizeof(struct racct),
1358 SYSINIT(racct, SI_SUB_RACCT, SI_ORDER_FIRST, racct_init, NULL);