align_down
#define align_down(x, a) ((unsigned long)(x) & ~(((unsigned long)(a)) - 1))
static inline uint64_t align_down(uint64_t x, uint64_t size)