New pmap-v6.c features and improvements

Zbyszek Bodek zbb at semihalf.com
Mon Jul 29 15:51:00 UTC 2013


On 04.07.2013 19:34, Warner Losh wrote:
> 
> On Jul 4, 2013, at 7:10 AM, Zbyszek Bodek wrote:
> 
>> On 27.06.2013 16:31, Zbyszek Bodek wrote:
>>> On 23.05.2013 14:36, Zbyszek Bodek wrote:
>>>> On 22.05.2013 20:42, Ruslan Bukin wrote:
>>>>> On Tue, May 21, 2013 at 02:39:56PM +0200, Zbyszek Bodek wrote:
>>>>>> Hello Everyone,
>>>>>>
>>>>>> I would like to introduce another pack of patches for pmap-v6.c and
>>>>>> related, that we created as a part of Semihalf work on Superpages
>>>>>> support.
>>>>>>
>>>>>> The patches include some major changes like:
>>>>>>
>>>>>> - Switch to AP[1:0] access permissions model
>>>>>> - Transition of the mapping related flags to PTE (stop using PVF_ flags
>>>>>>   in pv_entry)
>>>>>> - Rework of the pmap_enter_locked() function
>>>>>> - pmap code optimizations
>>>>>>
>>>>>> And some minor clean-ups:
>>>>>>
>>>>>> - Get rid of the VERBOSE_INIT_ARM option
>>>>>> - Clean-ups, style and naming improvements to pmap
>>>>>>
>>>>>> Please check out the attachment for details.
>>>>>>
>>>>>> I will be happy to answer your questions and doubts if any.
>>>>>>
>>>>>> Best regards
>>>>>> Zbyszek Bodek
>>>>>
>>>>> I tested new patches with exynos5 and everything is OK.
>>>>> (I mean all works as usual)
>>>>>
>>>>
>>>> Hello.
>>>>
>>>> I'm happy to announce that code has been integrated to the FreeBSD HEAD.
>>>> Great thanks your help!
>>>>
>>>
>>> Hello Everyone,
>>>
>>> We have two micro patches for pmap-v6.c containing fix for 'modified'
>>> bit emulation and removal of the redundant PGA_WRITEABLE clearing.
>>>
>>> Please check out the attachment.
>>>
>>> These two are minimal changes and we would like to commit them soon, so
>>> we would be grateful if you could test them on your ARMv6/v7 platforms
>>> and give us your remarks.
>>>
>>
>> Hello,
>>
>> Because there were no objections, we've integrated the patches:
>>
>> http://svnweb.freebsd.org/base?view=revision&revision=252694
>> http://svnweb.freebsd.org/base?view=revision&revision=252695
> 
Hello Everyone,

I'm sending another set of fixes for pmap-v6.c
Please see attachment.

0012 - Removal of the costly, frequent sweeping through the
       pv_entries whenever pmap_nuke_pv(), pmap_modify_pv(), etc.
       are called. This also makes order with clearing PGA_WRITEABLE
       aflag as well as with the pmap_statistics related to the
       wired_count.
0013 - Fix for pamp_set_prot() where not all of the protection bits were
       cleared before the actual configuration. L2_XN is not icluded to
       the L2_S_PROT mask to maintain consistency between PROT_MASKS for
       L2 and L1 descriptors - contain only kernel/user and
       read/write permissions bits.
0014 - Fix for pmap_change_wiring() where "wired" indicator of type
       boolean was being used as a "wired flag" passed to
       pmap_modify_pv() which was obviously not a valid PVF_WIRED flag.

Please test those patches on your ARM-based machines and send your
feedback. We will also appreciate your reviews and remarks.

Thank you in advance for your help.

Best regards
Zbyszek Bodek

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0012-Clarify-pv_entry-removal-in-respect-to-pmap-statisti.patch
Type: text/x-patch
Size: 4092 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20130729/0a0fe5d0/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0013-Clear-all-of-the-protection-bits-in-L2-PTE-before-th.patch
Type: text/x-patch
Size: 1863 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20130729/0a0fe5d0/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0014-Fix-ARMv6-v7-mapping-s-wired-status-configuration-in.patch
Type: text/x-patch
Size: 1251 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20130729/0a0fe5d0/attachment-0002.bin>


More information about the freebsd-arm mailing list