Lines Matching defs:pcg

1876 	pcg_t *pcg;
1958 #define PR_GROUPLIST(pcg) \
1959 (*pr)("\t\tgroup %p: avail %d\n", pcg, pcg->pcg_avail); \
1960 for (i = 0; i < pcg->pcg_size; i++) { \
1961 if (pcg->pcg_objects[i].pcgo_pa != \
1964 pcg->pcg_objects[i].pcgo_va, \
1966 pcg->pcg_objects[i].pcgo_pa); \
1969 pcg->pcg_objects[i].pcgo_va); \
1992 for (pcg = pc->pc_fullgroups; pcg != NULL;
1993 pcg = pcg->pcg_next) {
1994 PR_GROUPLIST(pcg);
2365 pool_cache_invalidate_groups(pool_cache_t pc, pcg_t *pcg)
2371 if (pcg == NULL) {
2377 for (n = 0; pcg != NULL; pcg = next, n++) {
2378 next = pcg->pcg_next;
2380 for (i = 0; i < pcg->pcg_avail; i++) {
2381 object = pcg->pcg_objects[i].pcgo_va;
2385 if (pcg->pcg_size == PCG_NOBJECTS_LARGE) {
2386 pool_put(&pcg_large_pool, pcg);
2388 KASSERT(pcg->pcg_size == PCG_NOBJECTS_NORMAL);
2389 pool_put(&pcg_normal_pool, pcg);
2412 pcg_t *pcg;
2439 pcg = pool_pcg_trunc(&pcg_normal_cache);
2440 (void)pool_cache_invalidate_groups(pc, pcg);
2442 pcg = pool_pcg_trunc(&pcg_large_cache);
2443 (void)pool_cache_invalidate_groups(pc, pcg);
2445 pcg = pool_pcg_trunc(&pc->pc_fullgroups);
2446 n = pool_cache_invalidate_groups(pc, pcg);
2451 pcg = pool_pcg_trunc(&pc->pc_partgroups);
2452 n = pool_cache_invalidate_groups(pc, pcg);
2473 pcg_t *pcg;
2478 if ((pcg = cc->cc_current) != &pcg_dummy) {
2479 pcg->pcg_next = NULL;
2480 pool_cache_invalidate_groups(pc, pcg);
2482 if ((pcg = cc->cc_previous) != &pcg_dummy) {
2483 pcg->pcg_next = NULL;
2484 pool_cache_invalidate_groups(pc, pcg);
2613 pool_pcg_put(pcg_t *volatile *head, pcg_t *pcg)
2625 pcg->pcg_next = o;
2627 n = atomic_cas_ptr(head, o, pcg);
2638 pcg_t *pcg, *cur;
2650 cc->cc_contended += pool_pcg_get(&pc->pc_fullgroups, &pcg);
2651 if (__predict_true(pcg != NULL)) {
2652 KASSERT(pcg->pcg_avail == pcg->pcg_size);
2658 cc->cc_current = pcg;
2707 pcg_t *pcg;
2738 pcg = cc->cc_current;
2739 if (__predict_true(pcg->pcg_avail > 0)) {
2740 object = pcg->pcg_objects[--pcg->pcg_avail].pcgo_va;
2742 *pap = pcg->pcg_objects[pcg->pcg_avail].pcgo_pa;
2744 pcg->pcg_objects[pcg->pcg_avail].pcgo_va = NULL;
2745 KASSERT(pcg->pcg_avail < pcg->pcg_size);
2760 pcg = cc->cc_previous;
2761 if (__predict_true(pcg->pcg_avail > 0)) {
2763 cc->cc_current = pcg;
2793 pcg_t *pcg, *cur;
2804 (void)pool_pcg_get(cc->cc_pcgcache, &pcg);
2805 if (__predict_false(pcg == NULL)) {
2807 pcg = pool_get(pc->pc_pcgpool, PR_NOWAIT);
2809 if (__predict_true(pcg != NULL)) {
2810 pcg->pcg_avail = 0;
2811 pcg->pcg_size = pc->pc_pcgsize;
2819 if (pcg != NULL) {
2820 KASSERT(pcg->pcg_avail == 0);
2822 cc->cc_previous = pcg;
2831 cc->cc_current = pcg;
2858 pcg_t *pcg;
2879 pcg = cc->cc_current;
2880 if (__predict_true(pcg->pcg_avail < pcg->pcg_size)) {
2881 pcg->pcg_objects[pcg->pcg_avail].pcgo_va = object;
2882 pcg->pcg_objects[pcg->pcg_avail].pcgo_pa = pa;
2883 pcg->pcg_avail++;
2893 pcg = cc->cc_previous;
2894 if (__predict_true(pcg->pcg_avail < pcg->pcg_size)) {
2896 cc->cc_current = pcg;
3304 pool_in_cg(struct pool *pp, struct pool_cache_group *pcg, uintptr_t addr)
3308 if (pcg == NULL) {
3311 for (i = 0; i < pcg->pcg_avail; i++) {
3312 if (pool_in_item(pp, pcg->pcg_objects[i].pcgo_va, addr)) {
3386 struct pool_cache_group *pcg;
3389 for (pcg = pc->pc_fullgroups; pcg != NULL;
3390 pcg = pcg->pcg_next) {
3391 if (pool_in_cg(pp, pcg, addr)) {