Re: 8.0RC2 amd64 - kernel panic running make buildworld

From: S.N.Grigoriev <serguey-grigoriev_at_yandex.ru>
Date: Tue, 17 Nov 2009 18:58:15 +0300
17.11.09, 10:32, "Andriy Gapon" <avg_at_icyb.net.ua>
wrote:

> Kai,
> the latest patch in the works, it's against a clean tree:
> diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
> index 44b71f3..ff35eb9 100644
> --- a/sys/amd64/amd64/pmap.c
> +++ b/sys/amd64/amd64/pmap.c
> _at__at_ -2365,6 +2365,9 _at__at_ pmap_demote_pde
>  	 * the read above and the store below.
>  	 */
>  	pde_store(pde, newpde);	
> +	pmap_invalidate_page(pmap, va);
> +	clflush((vm_offset_t)vtopde(va));
> +	mfence();
>  	/*
>  	 * Invalidate a stale recursive mapping of the page table page.
> _at__at_ -2981,6 +2984,11 _at__at_ setpte:
>  	 * Map the superpage.
>  	 */
>  	pde_store(pde, PG_PS | newpde);
> +	pmap_invalidate_range(pmap, va & ~PDRMASK, (va & ~PDRMASK) + NBPDR);
> +	clflush((vm_offset_t)vtopde(va));
> +	mfence();
> +	if (va >= VM_MAXUSER_ADDRESS)
> +		pmap_invalidate_page(pmap, (vm_offset_t)vtopte(va));
>  	pmap_pde_promotions++;
>  	CTR2(KTR_PMAP, "pmap_promote_pde: success for va %#lx"

Andriy,

I can confirm your patch works for me.
I've done 'make -j8 buildworld && make -j8 buildkernel'
without problems.

-- 
Regards,
S.Grigoriev.
Received on Tue Nov 17 2009 - 14:58:20 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:58 UTC