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 _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 GaponReceived on Tue Nov 17 2009 - 07:33:42 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:58 UTC