NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/45746: UVM_KMF_COLORMATCH/UVM_FLAG_COLORMATCH problems
The following reply was made to PR kern/45746; it has been noted by GNATS.
From: Izumi Tsutsui <tsutsui%ceres.dti.ne.jp@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: tsutsui%ceres.dti.ne.jp@localhost
Subject: Re: kern/45746: UVM_KMF_COLORMATCH/UVM_FLAG_COLORMATCH problems
Date: Wed, 28 Dec 2011 00:54:54 +0900
> UVM_KMF_COLORMATCH/UVM_FLAG_COLORMATCH problems
>
> - undocumented.
Indeed.
> - confusing as it abuses existing function parameters for different
> purposes.
Is it (using "align" as a color index if COLORMATCH is specified)
acceptable if it's documented? ;-p
> - it's unclear how it should interact with PMAP_PREFER.
I guess the COLORMATCH was introduced to avoid *all* possible
cache aliases on VIPT systems (i.e. on MIPS),
using strict "PA index == VA index" PV mapping strategy.
I think PMAP_PREFER can avoid aliases only if we have a hint
on allocating VA. (well I'm not a VM guy)
I think COLORMATCH is also used on
- allocating physical pages for existing VA per the mapping restriction
(uvm_pagealloc()?)
- allocating new shared VA without alias
(uvm_map_findspace(), uvm_pagermapin(), page loaning etc?
I guess PMAP_PREFER is no longer necessary if COLORMATCH is specified
and PMAP_PREFER is still needed for VIVT systems, but I'm not sure)
- mapping unmanaged pages per the mapping restriction
(to use pmap_kenter_pa() instead of pmap_enter(), i.e.
no PV map tracking is necessary for future cache flush
and uncached mappings if no aliases will happen on the restriction)
I don't know what happens on trying shared mapping VAs which have
different colors though.
BTW, what's the current status of yamt-kmem branch?
---
Izumi Tsutsui
Home |
Main Index |
Thread Index |
Old Index