Lines Matching defs:bin

286 /* Find the bin for the given page if it was of size szc */
293 #define PC_BIN_MUTEX(mnode, bin, flags) ((flags & PG_FREE_LIST) ? \
294 &fpc_mutex[(bin) & (NPC_MUTEX - 1)][mnode] : \
295 &cpc_mutex[(bin) & (NPC_MUTEX - 1)][mnode])
310 uint_t plw_bin_step; /* next bin: 1 or 2 */
312 uint_t plw_bin0; /* starting bin */
313 uint_t plw_bin_marker; /* bin after initial jump */
314 uint_t plw_bin_split_prev; /* last bin we tried to split */
316 uint_t plw_split_next; /* next bin to split */
323 void page_list_walk_init(uchar_t szc, uint_t flags, uint_t bin,
347 pgcnt_t *plc_mtsc_pgcnt; /* per color bin count */
380 int bin = PP_2_BIN(pp); \
390 plc_mtsc_pgcnt[bin], cnt); \
623 * 2 bin hopping
625 #define AS_2_BIN(as, seg, vp, addr, bin, szc) \
645 bin = PFN_2_COLOR(pfn, szc, NULL); \
647 bin = PFN_2_COLOR(pfn, szc, NULL); \
648 bin += slew >> (vac_shift - MMU_PAGESHIFT); \
649 bin &= hw_page_array[(szc)].hp_colors - 1; \
654 bin = PFN_2_COLOR(((uintptr_t)addr >> MMU_PAGESHIFT), \
666 bin = cnt = cnt & color_mask; \
667 bin >>= PAGE_GET_COLOR_SHIFT(0, szc); \
678 ASSERT(bin < page_get_pagecolors(szc));
700 * Function to get an ecache color bin: F(as, cnt, vcolor).
709 * cnt is a bin ptr kept on a per as basis. As we page_create we increment
721 * We also keep a start value which is used to randomize on what bin we
723 * contigous allocations of ecache size to point to the same bin.
729 * When a bin is empty, and we can't satisfy a color request correctly,
734 * an empty bin, skip a bunch before looking. After the first skip,
735 * then just look one bin at a time so we don't miss our cache on
736 * every look. Be sure to check every bin. Page_create() will panic
740 * and page_get_cachelist(). Since we checked the target bin, skipped
741 * a bunch, then continued one a time, we wind up checking the target bin