On Tue, Jun 21, 2011 at 01:16:00AM +0800, Cong Wang wrote: > ??? 2011???06???21??? 00:59, Mel Gorman ??????: > >On Tue, Jun 21, 2011 at 12:34:29AM +0800, Amerigo Wang wrote: > >>Don't hard-code 512M as the threshold in kernel, make it configruable, > >>and set 512M by default. > >> > > > >I'm not seeing the gain here either. This is something that is going to > >be set by distributions and probably never by users. If the default of > >512 is incorrect, what should it be? Also, the Kconfig help message has > >spelling errors. > > > > Sorry for spelling errors, I am not an English speaker. > > Hard-coding is almost never a good thing in kernel, enforcing 512 > is not good either. Since the default is still 512, I don't think this > will affect much users. > > I do agree to improve the help message, like Dave mentioned in his reply, > but I don't like enforcing a hard-coded number in kernel. > > BTW, why do you think 512 is suitable for *all* users? > Fragmentation avoidance benefits from tuning min_free_kbytes to a higher value and minimising fragmentation-related problems is crucial if THP is to allocate its necessary pages. THP tunes min_free_kbytes automatically and this value is in part related to the number of zones. At 512M on a single node machine, the recommended min_free_kbytes is close to 10% of memory which is barely tolerable as it is. At 256M, it's 17%, at 128M, it's 34% so tuning the value lower has diminishing returns as the performance impact of giving up such a high percentage of free memory is not going to be offset by reduced TLB misses. Tuning it to a higher value might make some sense if the higher min_free_kbytes was a problem but it would be much more rational to tune it as a sysctl than making it a compile-time decision. -- Mel Gorman SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>