rem: align, NULL, NULL, NULL, NULL, NULL, 0);
add: align, NULL, NULL, NULL, NULL, NULL, KMC_NODEBUG);
context: zio_init(void){	size_t c;	/*	 * For small buffers, we want a cache for each multiple of	 * SPA_MINBLOCKSIZE.  For medium-size buffers, we want a cache	 * for each quarter-power of 2.  For large buffers, we want	 * a cache for each multiple of PAGESIZE.	 */	for (c = 0; c < SPA_MAXBLOCKSIZE >> SPA_MINBLOCKSHIFT; c++) {		size_t size = (c + 1) << SPA_MINBLOCKSHIFT;		size_t p2 = size;		size_t align = 0;		while (p2 & (p2 - 1))			p2 &= p2 - 1;		if (size <= 4 * SPA_MINBLOCKSIZE) {			align = SPA_MINBLOCKSIZE;		} else if (P2PHASE(size, PAGESIZE) == 0) {			align = PAGESIZE;		} else if (P2PHASE(size, p2 >> 2) == 0) {			align = p2 >> 2;		}		if (align != 0) {			char name[30];			(void) sprintf(name, "zio_buf_%lu", size);			zio_buf_cache[c] = kmem_cache_create(name, size,			    align, NULL, NULL, NULL, NULL, NULL, 0);			dprintf("creating cache for size %5lx align %5lx\n",			    size, align);		}	}	while (--c != 0) {		ASSERT(zio_buf_cache[c] != NULL);		if (zio_buf_cache[c - 1] == NULL)			zio_buf_cache[c - 1] = zio_buf_cache[c];	}}