Lines Matching defs:ccp
2182 kmem_cpu_reload(kmem_cpu_cache_t *ccp, kmem_magazine_t *mp, int rounds)
2184 ASSERT((ccp->cc_loaded == NULL && ccp->cc_rounds == -1) ||
2185 (ccp->cc_loaded && ccp->cc_rounds + rounds == ccp->cc_magsize));
2186 ASSERT(ccp->cc_magsize > 0);
2188 ccp->cc_ploaded = ccp->cc_loaded;
2189 ccp->cc_prounds = ccp->cc_rounds;
2190 ccp->cc_loaded = mp;
2191 ccp->cc_rounds = rounds;
2272 kmem_cpu_cache_t *ccp = KMEM_CPU_CACHE(cp);
2276 ccp->cc_flags |= KMF_DUMPDIVERT;
2277 ccp->cc_dump_rounds = ccp->cc_rounds;
2278 ccp->cc_dump_prounds = ccp->cc_prounds;
2279 ccp->cc_rounds = ccp->cc_prounds = -1;
2282 ccp->cc_flags |= KMF_DUMPUNSAFE;
2417 kmem_cpu_cache_t *ccp = KMEM_CPU_CACHE(cp);
2421 mutex_enter(&ccp->cc_lock);
2427 if (ccp->cc_rounds > 0) {
2428 buf = ccp->cc_loaded->mag_round[--ccp->cc_rounds];
2429 ccp->cc_alloc++;
2430 mutex_exit(&ccp->cc_lock);
2431 if (ccp->cc_flags & (KMF_BUFTAG | KMF_DUMPUNSAFE)) {
2432 if (ccp->cc_flags & KMF_DUMPUNSAFE) {
2433 ASSERT(!(ccp->cc_flags &
2437 if ((ccp->cc_flags & KMF_BUFTAG) &&
2442 mutex_enter(&ccp->cc_lock);
2453 if (ccp->cc_prounds > 0) {
2454 kmem_cpu_reload(ccp, ccp->cc_ploaded, ccp->cc_prounds);
2462 if (ccp->cc_flags & (KMF_DUMPDIVERT | KMF_DUMPUNSAFE)) {
2463 if (ccp->cc_flags & KMF_DUMPUNSAFE) {
2464 ASSERT(!(ccp->cc_flags & KMF_DUMPDIVERT));
2470 mutex_exit(&ccp->cc_lock);
2480 if (ccp->cc_magsize == 0)
2488 if (ccp->cc_ploaded != NULL)
2490 ccp->cc_ploaded);
2491 kmem_cpu_reload(ccp, fmp, ccp->cc_magsize);
2501 mutex_exit(&ccp->cc_lock);
2576 * Drops and re-acquires &ccp->cc_lock, and returns non-zero if the
2582 kmem_cpucache_magazine_alloc(kmem_cpu_cache_t *ccp, kmem_cache_t *cp)
2587 ASSERT(MUTEX_HELD(&ccp->cc_lock));
2588 ASSERT(((uint_t)ccp->cc_rounds == ccp->cc_magsize ||
2589 ((uint_t)ccp->cc_rounds == -1)) &&
2590 ((uint_t)ccp->cc_prounds == ccp->cc_magsize ||
2591 ((uint_t)ccp->cc_prounds == -1)));
2595 if (ccp->cc_ploaded != NULL)
2597 ccp->cc_ploaded);
2598 kmem_cpu_reload(ccp, emp, 0);
2608 mutex_exit(&ccp->cc_lock);
2610 mutex_enter(&ccp->cc_lock);
2615 * However, we had to drop ccp->cc_lock to do it,
2619 if (ccp->cc_magsize != mtp->mt_magsize) {
2620 mutex_exit(&ccp->cc_lock);
2622 mutex_enter(&ccp->cc_lock);
2647 kmem_cpu_cache_t *ccp = KMEM_CPU_CACHE(cp);
2658 if (ccp->cc_flags & (KMF_BUFTAG | KMF_DUMPDIVERT | KMF_DUMPUNSAFE)) {
2659 if (ccp->cc_flags & KMF_DUMPUNSAFE) {
2660 ASSERT(!(ccp->cc_flags & KMF_DUMPDIVERT));
2663 } else if (KMEM_DUMPCC(ccp) && !kmem_cache_free_dump(cp, buf)) {
2666 if (ccp->cc_flags & KMF_BUFTAG) {
2672 mutex_enter(&ccp->cc_lock);
2681 if ((uint_t)ccp->cc_rounds < ccp->cc_magsize) {
2682 ccp->cc_loaded->mag_round[ccp->cc_rounds++] = buf;
2683 ccp->cc_free++;
2684 mutex_exit(&ccp->cc_lock);
2692 if (ccp->cc_prounds == 0) {
2693 kmem_cpu_reload(ccp, ccp->cc_ploaded, ccp->cc_prounds);
2700 if (ccp->cc_magsize == 0)
2703 if (!kmem_cpucache_magazine_alloc(ccp, cp)) {
2712 mutex_exit(&ccp->cc_lock);
2719 kmem_cpu_cache_t *ccp = KMEM_CPU_CACHE(cp);
2747 mutex_enter(&ccp->cc_lock);
2756 if ((uint_t)ccp->cc_rounds < ccp->cc_magsize) {
2757 ccp->cc_loaded->mag_round[ccp->cc_rounds++] =
2759 ccp->cc_free++;
2770 if (ccp->cc_prounds == 0) {
2771 kmem_cpu_reload(ccp, ccp->cc_ploaded,
2772 ccp->cc_prounds);
2780 if (ccp->cc_magsize == 0) {
2784 if (!kmem_cpucache_magazine_alloc(ccp, cp))
2787 mutex_exit(&ccp->cc_lock);
3140 kmem_cpu_cache_t *ccp;
3149 ccp = &cp->cache_cpu[cpu_seqid];
3151 mutex_enter(&ccp->cc_lock);
3152 mp = ccp->cc_loaded;
3153 pmp = ccp->cc_ploaded;
3154 rounds = ccp->cc_rounds;
3155 prounds = ccp->cc_prounds;
3156 ccp->cc_loaded = NULL;
3157 ccp->cc_ploaded = NULL;
3158 ccp->cc_rounds = -1;
3159 ccp->cc_prounds = -1;
3160 ccp->cc_magsize = 0;
3161 mutex_exit(&ccp->cc_lock);
3185 kmem_cpu_cache_t *ccp = &cp->cache_cpu[cpu_seqid];
3186 mutex_enter(&ccp->cc_lock);
3187 ccp->cc_magsize = cp->cache_magtype->mt_magsize;
3188 mutex_exit(&ccp->cc_lock);
3393 kmem_cpu_cache_t *ccp = &cp->cache_cpu[cpu_seqid];
3395 mutex_enter(&ccp->cc_lock);
3398 if (ccp->cc_rounds > 0)
3399 cpu_buf_avail += ccp->cc_rounds;
3400 if (ccp->cc_prounds > 0)
3401 cpu_buf_avail += ccp->cc_prounds;
3403 kmcp->kmc_alloc.value.ui64 += ccp->cc_alloc;
3404 kmcp->kmc_free.value.ui64 += ccp->cc_free;
3407 mutex_exit(&ccp->cc_lock);
3899 kmem_cpu_cache_t *ccp = &cp->cache_cpu[cpu_seqid];
3900 mutex_init(&ccp->cc_lock, NULL, MUTEX_DEFAULT, NULL);
3901 ccp->cc_flags = cp->cache_flags;
3902 ccp->cc_rounds = -1;
3903 ccp->cc_prounds = -1;