* size of the zone.  But no more than 1/4 of a meg - there's * no point in going beyond the size of L2 cache. 
* size of the zone.  But no more than 1/2 of a meg. 
static int __devinit zone_batchsize(struct zone *zone){	int batch;	/*	 * The per-cpu-pages pools are set to around 1000th of the	 * size of the zone.  But no more than 1/4 of a meg - there's	 * no point in going beyond the size of L2 cache.	 *	 * OK, so we don't know how big the cache is.  So guess.	 */	batch = zone->present_pages / 1024;	if (batch * PAGE_SIZE > 256 * 1024)		batch = (256 * 1024) / PAGE_SIZE;	batch /= 4;		/* We effectively *= 4 below */	if (batch < 1)		batch = 1;	/*	 * Clamp the batch to a 2^n - 1 value. Having a power	 * of 2 value was found to be more likely to have	 * suboptimal cache aliasing properties in some cases.	 *	 * For example if 2 tasks are alternately allocating	 * batches of pages, one task can end up with a lot	 * of pages of one half of the possible page colors	 * and the other with pages of the other colors.	 */	batch = (1 << fls(batch + batch/2)) - 1;	return batch;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/ba56e91c940146e99ac694c4c7cd7f2b4aaa565d/page_alloc.c/clean/mm/page_alloc.c