New PV entry allocator for pmap-v6.c

Zbyszek Bodek zbb at semihalf.com
Tue May 14 12:37:18 UTC 2013


On 10.05.2013 11:17, Zbyszek Bodek wrote:
> On 08.05.2013 14:41, Zbyszek Bodek wrote:
>> On 08.05.2013 13:47, Aleksandr Rybalko wrote:
>>> On Wed, 08 May 2013 10:59:01 +0200
>>> Zbyszek Bodek <zbb at semihalf.com> wrote:
>>>
>>>> On 04.05.2013 19:30, Zbyszek Bodek wrote:
>>>>> Hello everyone,
>>>>>
>>>>> As a part of Semihalf work on Superpages support,
>>>>> we've made some pmap-v6.c improvements and clean-ups.
>>>>>
>>>>> We would like to start integrating our code to the mainline FreeBSD,
>>>>> therefore I'm happy to introduce the new PV entry allocator for
>>>>> pmap-v6.c ported from amd64/i386/mips.
>>>>>
>>>>> Alan Cox (alc) was so kind to review the code.
>>>>>
>>>>> If there are no objections, then we will commit this patch to the HEAD
>>>>> around Monday/Tuesday.
>>>>>
>>>>> Please check out the attachment for details.
>>>>>
>>>>
>>>> Hello again,
>>>>
>>>> Does anyone have any comments and/or remarks regarding the mentioned
>>>> patch?
>>>>
>>>> I was testing it on the multicore ARMv7 machine however, it would be
>>>> good if someone test it on available ARMv6/ARMv7 platforms.
>>>>
>>>> Best regards
>>>> Zbyszek Bodek
>>>>
>>>>
>>>> _______________________________________________
>>>> freebsd-arm at freebsd.org mailing list
>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
>>>> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
>>>
>>> Hi Zbyszek!
>>>
>>> I've not done deep review, but fail to compile it on fresh head:
>>>
>>> cc -c -O -pipe -march=armv6 -DARM_ARCH_6=1 -std=c99 -g -Wall
>>> -Wredundant-decls - Wnested-externs -Wstrict-prototypes
>>> -Wmissing-prototypes -Wpointer-arith -Winli ne -Wcast-qual  -Wundef
>>> -Wno-pointer-sign -fformat-extensions  -Wmissing-include -dirs
>>> -fdiagnostics-show-option  -Wno-error-tautological-compare
>>> -Wno-error-empt y-body  -Wno-error-parentheses-equality -nostdinc  -I.
>>> -I/usr/home/ray/work/Free BSD/CLEAN/head/sys
>>> -I/usr/home/ray/work/FreeBSD/CLEAN/head/sys/contrib/altq -I/u
>>> sr/home/ray/work/FreeBSD/CLEAN/head/sys/contrib/libfdt -D_KERNEL
>>> -DHAVE_KERNEL_O PTION_HEADERS -include opt_global.h  -ffreestanding
>>> -Werror  /usr/home/ray/work$
>>> FreeBSD/CLEAN/head/sys/arm/arm/pmap-v6.c
>>> /usr/home/ray/work/FreeBSD/CLEAN/head/sys/arm/arm/pmap-v6.c:908:9:
>>>
>>> error: no member named 'pvh_attrs' in 'struct md_page' pg->md.pvh_attrs
>>> &= ~(maskbits & (PVF_MOD | PVF_REF)); ~~~~~~^
>>> /usr/home/ray/work/FreeBSD/CLEAN/head/sys/arm/arm/pmap-v6.c:1001:9:
>>>
>>> error: no member named 'pvh_attrs' in 'struct md_page' pg->md.pvh_attrs
>>> |= flags & (PVF_REF | PVF_MOD); ~~~~~~ ^
>>>
>>> 18 errors total.
>>>
>>> Thanks a lot!
>>>
>>> P.S. how far from full ARM SMP support Semihalf now?
>>>
>>> WBW
>>>
>>
>> Hello Aleksandr,
>>
>> Thank for pointing that out. This was because we have other changes on
>> our development branch that btw. we intend to post soon.
>>
>> I'm attaching the patch that works for me on the current "vanilla" HEAD.
>> Please send your feedback.
>>
>> Regarding SMP support, then we are able to boot 4-core SMP system.
>> I was stressing the system with multiple, simultaneous build-world (-j5)
>> and it survived overnight tests. We can successfully build kernel,
>> stress testing suit is also working fine.
>> But please be advised that I was mainly focused on tests that might give
>> me basic information about memory operations and I was using only one
>> type of target machine.
>>
>> Best regards
>> Zbyszek Bodek
>>
>>
>
> Hello again Aleksandr and everyone,
>
> Do you have any update in this topic?
>
> Does anyone tried the new patch as has any remarks or findings?
>

Hello,

I'm happy to inform that the new PV entry allocator for ARMv6/7 has been 
integrated to FreeBSD HEAD.

Thanks a lot for your help!

Best regards
Zbyszek Bodek



More information about the freebsd-arm mailing list