New PV entry allocator for pmap-v6.c

Zbyszek Bodek zbb at semihalf.com
Wed May 8 12:41:28 UTC 2013


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-arm-Port-the-new-PV-entry-allocator-from-amd64-i386-.patch
Type: text/x-patch
Size: 25514 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20130508/ee25eb88/attachment.bin>


More information about the freebsd-arm mailing list