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