> > Whereas it should probably go: > > if (max == 0) { > max = (flags & HASH_HIGHMEM) ? nr_all_pages : nr_kernel_pages; > max = (max << PAGE_SHIFT) >> 4; > do_div(max, bucketsize); > } > > or something like that.
That's still too big. Consider a 2TB machine, with all memory in LOWMEM. Or even a smaller system. At some point it doesn't make sense anymore to go to a larger table, even if you have the memory and it is actually costly to have a larger table because walking the table (netstat, route etc.) completely will take longer and longer. It needs some additional limit. Either a maximum one or something dynamic like CPU cache sizes (but there is currently no portable way to get that) -Andi - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html