/* Calculate the size of the zone->blockflags rounded to an unsigned long Start by making sure zonesize is a multiple of pageblock_order by rounding up. Then use 1 NR_PAGEBLOCK_BITS worth of bits per pageblock, finally round what is now in bits to nearest long in bits, then return it in bytes.  */
static unsigned long __init usemap_size(unsigned long zonesize)
/* Calculate the size of the zone->blockflags rounded to an unsigned long Start by making sure zonesize is a multiple of pageblock_order by rounding up. Then use 1 NR_PAGEBLOCK_BITS worth of bits per pageblock, finally round what is now in bits to nearest long in bits, then return it in bytes.  */
static unsigned long __init usemap_size(unsigned long zonesize)
{
	unsigned long usemapsize;
	usemapsize = roundup(zonesize, pageblock_nr_pages);
	usemapsize = usemapsize >> pageblock_order;
	usemapsize *= NR_PAGEBLOCK_BITS;
	usemapsize = roundup(usemapsize, 8 * sizeof(unsigned long));
	return usemapsize / 8;
}