Introduction to the superpages support for ARMv6/v7

Zbyszek Bodek zbb at semihalf.com
Thu Aug 22 13:19:23 UTC 2013


On 21.08.2013 18:29, Zbyszek Bodek wrote:
> Hello Everyone,
> 
> I'm happy to announce the preliminary patch adding superpages
> support for ARMv6/v7 platforms.
> 
> This code is the core part of the "Superpages for ARMv7" project,
> sponsored by both Semihalf and The FreeBSD Foundation and developed with
> the great support of Alan Cox.
> 
> We'd like to commit these changes before the feature freeze.
> Therefore, we would greatly appreciate if you could test the patch on
> your ARM-based platforms and send us your feedback as soon as possible.
> In addition, please send your remarks and comments if there are any.
> 
> Please check out this location:
> http://people.freebsd.org/~raj/patches/arm/superpages/
> 
> and files:
> * 0001-Introduce-preliminary-superpages-support-for-ARMv6-v.patch
>   - patch based on revision 254596
> * GUPS.tar.gz
>   - (Giga Updates Per Second) benchmark that can be used to do a quick
>      preview of the functionality.
> 
> In order to enable superpages utilization one needs to set 'sp_enabled'
> sysctl variable (in src or loader). Without that, the kernel is supposed
> to work as it was without SP even so the reservation based allocation
> mechanism is enabled.
> 
> One can observe superpages statistics using:
> sysctl vm.pmap.section
> 
> We have tested this on Armada XP in SMP environment but the presented
> support should work on any ARMv6/v7 platform.
> 
> After committing this code we will send a separate e-mail summing up
> this work and covering more details.
> 

Hello again,

Please check out the updated patch:
http://people.freebsd.org/~raj/patches/arm/superpages/0001-Introduce-preliminary-superpages-support-for-ARMv6-v.patch

Short info:
- Unified SP related functions names to contain _section suffix
  instead of _superpage. This is to keep the names in sync with sysctl
  variables, existing functions and for future development when 64KB
  superpages arrive.

- Removed redundant code

- We will also add missing pv_chunk list initialization in the
  separate commit but here this change included to the overall patch.

Best regards
Zbyszek Bodek



More information about the freebsd-arm mailing list