On Sun, Oct 08, 2000 at 08:27:24AM -0700, Linus Torvalds wrote:
> Why? Think NUMA. The global freepages number is NOT USABLE. Never will be.
> Because it's fundamentally a non-valid number to use - it has nothing to
> do with any reality, and never will.
> 
> This is exactly my argument and beef with Andreas zone patches. They
> simply cannot work in the end because they use global information that
> should not be used.

I never used the global freepages number for anything in 2.4.x. Furthmore I had
per-NUMA-node informations that currently are global in 2.4.0-test9.

If you can see any usage of freepages.* in the below grep let me know and I'll
fix it as time permits.

andrea@athlon:~/devel/kernel/2.4.0-test1-ac22-class > gid freepages
include/linux/swapctl.h:23:extern freepages_t freepages;
kernel/sysctl.c:229:    {VM_FREEPG, "freepages", 
kernel/sysctl.c:230:     &freepages, sizeof(freepages_t), 0644, NULL, &proc_dointvec},
mm/page_alloc.c:390:            freepages.min,
mm/page_alloc.c:391:            freepages.low,
mm/page_alloc.c:392:            freepages.high);
mm/page_alloc.c:547:    freepages.min += i;
mm/page_alloc.c:548:    freepages.low += i * 2;
mm/page_alloc.c:549:    freepages.high += i * 3;
mm/swap.c:29: * fall below the freepages.min except for atomic allocations.  We
mm/swap.c:30: * start background swapping if we fall below freepages.high free
mm/swap.c:31: * pages, and we begin intensive swapping below freepages.low.
mm/swap.c:36:freepages_t freepages = {
mm/swap.c:37:   0,      /* freepages.min */
mm/swap.c:38:   0,      /* freepages.low */
mm/swap.c:39:   0       /* freepages.high */
arch/sparc/kernel/sys_sunos.c:146:      int freepages, retval = -ENOMEM;
arch/sparc/kernel/sys_sunos.c:197:      freepages = atomic_read(&buffermem_pages) >> 
PAGE_SHIFT;
arch/sparc/kernel/sys_sunos.c:198:      freepages += atomic_read(&page_cache_size);
arch/sparc/kernel/sys_sunos.c:199:      freepages >>= 1;
arch/sparc/kernel/sys_sunos.c:200:      freepages += nr_free_pages();
arch/sparc/kernel/sys_sunos.c:201:      freepages += nr_swap_pages;
arch/sparc/kernel/sys_sunos.c:202:      freepages -= num_physpages >> 4;
arch/sparc/kernel/sys_sunos.c:203:      freepages -= (newbrk-oldbrk) >> PAGE_SHIFT;
arch/sparc/kernel/sys_sunos.c:204:      if (freepages < 0)
arch/sparc/mm/init.c:454:       freepages.min = i;
arch/sparc/mm/init.c:455:       freepages.low = i << 1;
arch/sparc/mm/init.c:456:       freepages.high = freepages.low + i;
arch/sparc64/kernel/sys_sunos32.c:127:  int freepages, retval = -ENOMEM;
arch/sparc64/kernel/sys_sunos32.c:161:  freepages = atomic_read(&buffermem_pages) >> 
PAGE_SHIFT;
arch/sparc64/kernel/sys_sunos32.c:162:  freepages += atomic_read(&page_cache_size);
arch/sparc64/kernel/sys_sunos32.c:163:  freepages >>= 1;
arch/sparc64/kernel/sys_sunos32.c:164:  freepages += nr_free_pages();
arch/sparc64/kernel/sys_sunos32.c:165:  freepages += nr_swap_pages;
arch/sparc64/kernel/sys_sunos32.c:166:  freepages -= num_physpages >> 4;
arch/sparc64/kernel/sys_sunos32.c:167:  freepages -= (newbrk-oldbrk) >> PAGE_SHIFT;
arch/sparc64/kernel/sys_sunos32.c:168:  if (freepages < 0)
Documentation/filesystems/proc.txt:961:freepages
Documentation/sysctl/vm.txt:22:- freepages
Documentation/sysctl/vm.txt:110:freepages:
Documentation/sysctl/vm.txt:112:This file contains the values in the struct freepages. 
That
Documentation/sysctl/vm.txt:117:freepages.min   When the number of free pages in the 
system
Documentation/sysctl/vm.txt:120:freepages.low   If the number of free pages gets below 
this
Documentation/sysctl/vm.txt:122:freepages.high  The kernel tries to keep up to this 
amount of
andrea@athlon:~/devel/kernel/2.4.0-test1-ac22-class > 

Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to