Re: 2.6.22-stable causes oomkiller to be invoked

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Christoph Lameter <[email protected]> wrote:

> Index: linux-2.6/arch/x86/mm/pgtable_32.c
> ===================================================================
> --- linux-2.6.orig/arch/x86/mm/pgtable_32.c	2007-12-26 12:55:10.000000000 -0800
> +++ linux-2.6/arch/x86/mm/pgtable_32.c	2007-12-26 12:55:54.000000000 -0800
> @@ -366,6 +366,15 @@ void pgd_free(pgd_t *pgd)
>  		}
>  	/* in the non-PAE case, free_pgtables() clears user pgd entries */
>  	quicklist_free(0, pgd_dtor, pgd);
> +
> +	/*
> +	 * We must call check_pgd_cache() here because the pgd is freed after
> +	 * tlb flushing and the call to check_pgd_cache. In some cases the VM
> +	 * may not call tlb_flush_mmu during process termination (??).

that's incorrect i think: during process termination exit_mmap() calls 
tlb_finish_mmu() unconditionally which calls tlb_flush_mmu().

> +	 * If this is repeated then we may never call check_pgd_cache.
> +	 * The quicklist will grow and grow. So call check_pgd_cache here.
> +	 */
> +	check_pgt_cache();
>  }

so we still dont seem to understand the failure mode well enough. This 
also looks like a quite dangerous change so late in the v2.6.24 cycle. 
Does it really fix the OOM? If yes, why exactly?

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux