Re: [QUICKLIST 3/4] Quicklist support for x86_64

Andi Kleen
2007-04-09T18:43:14Z

On Monday 09 April 2007 20:25:20 Christoph Lameter wrote:

> #endif /* _X86_64_PGALLOC_H */
> Index: linux-2.6.21-rc5-mm4/arch/x86_64/kernel/process.c
> ===================================================================
> --- linux-2.6.21-rc5-mm4.orig/arch/x86_64/kernel/process.c 2007-04-07 18:07:47.000000000 -0700
> +++ linux-2.6.21-rc5-mm4/arch/x86_64/kernel/process.c 2007-04-07 18:09:30.000000000 -0700
> @@ -207,6 +207,7 @@
> if (__get_cpu_var(cpu_idle_state))
> __get_cpu_var(cpu_idle_state) = 0;
>
> + check_pgt_cache();

Wouldn't it be better to do that on memory pressure only (register
it as a shrinker)?

> rmb();
> idle = pm_idle;
> if (!idle)
> Index: linux-2.6.21-rc5-mm4/arch/x86_64/kernel/smp.c
> ===================================================================
> --- linux-2.6.21-rc5-mm4.orig/arch/x86_64/kernel/smp.c 2007-04-07 18:07:47.000000000 -0700
> +++ linux-2.6.21-rc5-mm4/arch/x86_64/kernel/smp.c 2007-04-07 18:09:30.000000000 -0700
> @@ -241,7 +241,7 @@
> }
> if (!cpus_empty(cpu_mask))
> flush_tlb_others(cpu_mask, mm, FLUSH_ALL);
> -
> + check_pgt_cache();

Why is that here?

> preempt_enable();
> }

-Andi