Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: [x86 pmap changes] CVS commit: src/sys/arch
On Tue, Jan 07, 2020 at 09:39:22AM +0100, Maxime Villard wrote:
> > Module Name: src
> > Committed By: ad
> > Date: Sat Jan 4 22:49:20 UTC 2020
> >
> > Modified Files:
> > src/sys/arch/x86/include: pmap.h pmap_pv.h
> > src/sys/arch/x86/x86: pmap.c
> > src/sys/arch/xen/x86: xen_pmap.c
> >
> > Log Message:
> > x86 pmap improvements, reducing system time during a build by about 15% on
> > my test machine:
>
> This breaks nvmm-intel. I have only given a quick glance, but this change
> already is wrong:
>
> - old_pp->pp_attrs |= pmap_ept_to_pp_attrs(opte);
> + old_pp->pp_attrs |= pmap_pte_to_pp_attrs(opte);
>
> This is an EPT function handling EPT PTEs, so "ept" was correct. Fixing
> this bug is not sufficient, so it seems that there are more bugs.
>
> Reverting the whole change puts nvmm-intel back in a functional state.
>
> You can test with this on an Intel CPU:
>
> # modload nvmm
> # /usr/tests/lib/libnvmm/./h_mem_assist
>
> This currently gives random crashes.
With a couple of typos fixed (PTE -> EPT, now checked in) I see the same FPU
DNA exception that Chavdar reports on current-users (in his case with a
kernel which doesn't have these pmap changes). It's coming from:
vmx_vcpu_guest_fpu_leave() -> fpu_area_save() -> fxsave()
What I can tell you is that the fxsave area is definitely writable and
correctly aligned but beyond that I have no idea what's causing it. Any
suggestions?
Cheers,
Andrew
Home |
Main Index |
Thread Index |
Old Index