// 除法向上取整
#define CEIL(v, k) (((v) + (1 << (k)) - 1) >> (k))
+#define ICEIL(x, y) ((x) / (y) + ((x) % (y) != 0))
+
// 除法向下取整
#define FLOOR(v, k) ((v) >> (k))
#define wait_until_expire(cond, max) \
({ \
unsigned int __wcounter__ = (max); \
- while (!(cond) && __wcounter__-- > 0) \
+ while (!(cond) && __wcounter__-- > 1) \
; \
__wcounter__; \
})