uma_zalloc*'s flag argument is not documented. It seems that flags has the same meaning in uma_zalloc* as malloc(9) (M_WAITOK is being checked at least), but it would be nice if the manpage would explicitly state what values were valid and described their uses, or pointed to malloc(9).
From uma.h: * flags See sys/malloc.h for available flags.
Looked at the manpage, and the blurb about uma_zalloc is a bit obfuscated, but it says this: To allocate an item from a zone, simply call uma_zalloc() with a pointer to that zone and set the flags argument to selected flags as documented in malloc(9).