From owner-freebsd-current@FreeBSD.ORG Tue Nov 17 14:30:35 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 320A91065695 for ; Tue, 17 Nov 2009 14:30:35 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-bw0-f220.google.com (mail-bw0-f220.google.com [209.85.218.220]) by mx1.freebsd.org (Postfix) with ESMTP id AFC828FC14 for ; Tue, 17 Nov 2009 14:30:34 +0000 (UTC) Received: by bwz20 with SMTP id 20so37767bwz.14 for ; Tue, 17 Nov 2009 06:30:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type; bh=Frp74EwDpI4U14bVjImle/9/d+RqdCqh1Hiz2ZV2NGw=; b=oQYqQJQGR81jdf1KACW8o71UBVYExeV3jEE+Ro7VyHo+TFwjCRNCMczE06BmekBQhz 35OYhqcd+AeJtiRcK0H9vCElNggmCAITlxULL+4aOUo5aGzfYiSHposY4m0gEQAPCgu4 4feMwERSau6A56hE11sCYgYF8MXPpX7BA5Xxo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=SYc3+vIgyrpA5smHqgfkZju6OFmIQkSEPfRyiUCjYml9lN9UvPOGrIi28Axki7mz1i jM7Gs3eSjGzkZ+pFxf5BaRKWbCXT260fb5ZTd77gEpfW4DkMSAbZ68trvHubaDAY/R5G sdfWAiXCwyBgva3XpKD76flcKGGOUpTdYJK/U= MIME-Version: 1.0 Sender: asmrookie@gmail.com Received: by 10.223.5.18 with SMTP id 18mr141783fat.58.1258468233489; Tue, 17 Nov 2009 06:30:33 -0800 (PST) In-Reply-To: <4B025FA9.7020003@icyb.net.ua> References: <1031257439203@webmail57.yandex.ru> <941257966918@webmail42.yandex.ru> <200911111504.14906.jhb@freebsd.org> <20091112195932.5875387e@orwell.free.de> <4AFD140D.7010407@icyb.net.ua> <20091113144804.2c0fb90f@orwell.free.de> <4AFD655E.5020801@icyb.net.ua> <20091114022121.217dd831@orwell.free.de> <4AFE7A32.7060203@icyb.net.ua> <4B025FA9.7020003@icyb.net.ua> Date: Tue, 17 Nov 2009 15:30:32 +0100 X-Google-Sender-Auth: 38d0f611aa54a0cc Message-ID: <3bbf2fe10911170630l5b1ebbbgb9bba7e73b77b04d@mail.gmail.com> From: Attilio Rao To: Andriy Gapon Content-Type: text/plain; charset=UTF-8 Cc: freebsd-current@freebsd.org, Kai Gallasch Subject: Re: 8.0RC2 amd64 - kernel panic running make buildworld X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Nov 2009 14:30:35 -0000 2009/11/17 Andriy Gapon : > on 14/11/2009 11:36 Andriy Gapon said the following: >> on 14/11/2009 03:21 Kai Gallasch said the following: >>> Hi. The patch did help for surviving a makeworld. >>> >>> But now I have another machine check exception with this server. It >>> happened with your patch active, and vm.pmap.pg_ps_enabled="1". I >>> copied data from a remote server by NFS mount to the instable server. >>> Destination was a local ZFS filesystem. >>> >>> ---------------- >>> >>> sonnenkraft:~ # MCA: CPU 7 UNCOR PCC OVER DTLB L1 error >>> MCA: Address 0xff800d860000 >> >> It's interesting because the same happened to me too, only in my case it was >> zpool scrub that triggered it. >> I will try to look into this further. >> > > 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 > @@ -2365,6 +2365,9 @@ 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. > @@ -2981,6 +2984,11 @@ 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" > I think you should use mb() rather than mfence(). Thanks, Attilio -- Peace can only be achieved by understanding - A. Einstein