Port-amd64 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Some questions about x86/xen pmap
On Thu, May 07, 2009 at 01:03:19AM +0200, Jean-Yves Migeon wrote:
>>> Just to set the background, to make Xen save/restore/migrate work
>>> under a NetBSD domU, I have to do some slight modifications to the
>>> pmap, for two reasons:
>>> - Xen (and xentools) do not handle alternative recursive mappings
>>> (the APDP entries in our PD).
>>
>> I' planning to elminate these for native x86. Instead of using the alternate
>> space, native x86 will temporarily switch the pmap onto the CPU. I discussed
>> this briefly with Manuel and he suggested that there may be problems with
>> this approach for xen. My patch leaves it unchanged for xen.
>
> Alright, then I am adding Manuel to the loop, as I would like to know
> why removing the APDP would be a problem comparing to temporarily
> switching pmaps. Is it a performance or a design issue, NetBSD-specific
> or anything else?
on xen/amd64 there is a separate pmap for kernel and user processes; the
kernel never runs in the context of a user process pmap (and user process
pmaps have no kernel mappings).
>[...]
> The initial goal was to expand my locking to include protection for the
> pmap_map_ptes/pmap_unmap_ptes calls, so that APDP entries are cleared by
> pmap_unmap_ptes(). That way, I could avoid the pmap iterations during
> save, as I could guarantee that they all APDP entries are left unmapped.
note that mapping/unmapping APDP on each pmap_map_ptes/pmap_unmap_ptes call
is extremely expensive on amd64. We want to avoid it as much as possible
(i.e. change APDP only when another pmap needs to be mapped)
--
Manuel Bouyer, LIP6, Universite Paris VI.
Manuel.Bouyer%lip6.fr@localhost
NetBSD: 26 ans d'experience feront toujours la difference
--
Home |
Main Index |
Thread Index |
Old Index