From owner-freebsd-arm@FreeBSD.ORG Tue Aug 27 09:45:19 2013 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id D76BC9DF for ; Tue, 27 Aug 2013 09:45:19 +0000 (UTC) (envelope-from fabiodive@gmail.com) Received: from mail-ee0-x229.google.com (mail-ee0-x229.google.com [IPv6:2a00:1450:4013:c00::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 58B212AE4 for ; Tue, 27 Aug 2013 09:45:19 +0000 (UTC) Received: by mail-ee0-f41.google.com with SMTP id d17so2154933eek.14 for ; Tue, 27 Aug 2013 02:45:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=8qn2azYwzIX0rPQ28D7ClWRM1K02GLnXpqNqTOgLpGc=; b=G8OPZkQ5n4Ba5E4gi+6A6ngdaj579y+2935wu2618GBKICFVI+uqkqJgLYlQUO/UVI BzhNuWWpWNcE574O5VUTTIb2l5Y8V4az5JvVzaaxLmobtjDJe8KifRlSOiroDGrneHSG RTQm30D8t3Zx3tcFUpVxn7nhJoYVc+CeJx6aObyCQfEAf6E4FWmIBN87BvFa6qMEIJrJ MZ5NAz4fBxDhbNZrwAwKykH1mXba5lFwSP6P25cD/Y2qhN+AmEtmPAY5CDgOSwfASlLj Q8hjtTqGKB0enxTKQafuN87oNSLQb3MYseyi+v4WnwOGYGqQaLI5s773IRaZYI8d+slQ tEqg== X-Received: by 10.14.241.74 with SMTP id f50mr33518733eer.29.1377596717528; Tue, 27 Aug 2013 02:45:17 -0700 (PDT) Received: from [192.168.113.40] (135.Red-80-24-42.staticIP.rima-tde.net. [80.24.42.135]) by mx.google.com with ESMTPSA id j7sm27745827eeo.15.1969.12.31.16.00.00 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 27 Aug 2013 02:45:17 -0700 (PDT) Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\)) Subject: Re: HEADS UP: Superpages support for ARMv6/v7 From: fabiodive In-Reply-To: <521C74A3.4050207@semihalf.com> Date: Tue, 27 Aug 2013 10:45:14 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <3635F96E-6C83-4310-AE6B-DE2F2EA09C4C@gmail.com> References: <521BA6F6.3010308@semihalf.com> <0093E5B7-EC77-40AB-8AD4-0778E42993A6@gmail.com> <521C74A3.4050207@semihalf.com> To: Zbyszek Bodek X-Mailer: Apple Mail (2.1508) Cc: freebsd-arm@FreeBSD.org X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Aug 2013 09:45:19 -0000 OK, that's fine, should be fine also having some configuration "option" into the kernel configuration file=85 thank you again f. On Aug 27, 2013, at 10:42 AM, Zbyszek Bodek wrote: > On 27.08.2013 11:36, fabiodive wrote: >> Hello, >> I am going to do some tests on my beagle bone black here, >> please could you give me an hint about enabling the feature >> into the kernel? Which directive should I use? >> thank you >> f. >>=20 >=20 > Hello. >=20 > If you are not using loader then open: > sys/arm/arm/pmap-v6.c > and set "sp_enabled =3D 0;" -> "sp_enabled =3D 1;" > recompile. >=20 > OR if using loader then set: > vm.pmap.sp_enabled=3D1 in loader.conf >=20 > Both methods are sufficient. >=20 > Best regards > Zbigniew Bodek >=20 >=20 >> On Aug 26, 2013, at 8:05 PM, Zbyszek Bodek wrote: >>=20 >>> Hello Everyone. >>>=20 >>> I'm happy to announce that Superpages support for ARM has just been >>> integrated to the FreeBSD HEAD: >>> http://svnweb.freebsd.org/changeset/base/254918 >>>=20 >>> This project was sponsored by The FreeBSD Foundation and Semihalf. >>> It was developed with great support of Alan Cox (alc) who was also = the >>> technical reviewer of the code. Thank you very much Alan for all = your help! >>> I would also like to thank Grzegorz Bernacki (gber) and Rafal = Jaworowski >>> (raj) for mentoring and help with the code integration and all the >>> people involved in testing of the patches and review. >>>=20 >>> The code was tested on a quad-core, ARMv7, Marvell Armada XP SoC in = SMP >>> environment. >>>=20 >>> Superpages is a feature that can increase TLB coverage and allow for >>> efficient use of page table entries. Current implementation for ARM >>> supports two page sizes: 4KB small pages (used as base pages) and = 1MB >>> sections (used as superpages). >>> Superpages are created either directly by 1MB section insertion or = as a >>> result of promotion of 256 4KB pages. In both cases superpages = creation >>> and utilization depends on *sp_enabled* sysctl variable. >>>=20 >>> By default, superpages support is disabled. >>> In order to use this functionality one needs to set >>> *vm.pmap.sp_enabled* tunable to non-zero value. This can be done = either >>> in loader.conf or by modifying *sp_enabled* variable in >>> sys/arm/arm/pmap-v6.c . Statistics regarding superpages usage are >>> available through: sysctl vm.pmap.section >>>=20 >>> All ARMv6/v7-based platforms can take advantage from superpages, so >>> please enable this feature on your ARM kernels. >>> We will appreciate all your feedback regarding performance impact = and >>> general system behavior. >>>=20 >>> Performance improvement should be visible in all tasks where = intensive >>> memory utilization is involved. GUPS (Giga Updates Per Second) = benchmark >>> can be used to show the difference in memory utilization efficiency = with >>> superpages enabled and disabled. GUPS src can be downloaded from = here: >>> http://people.freebsd.org/~raj/patches/arm/superpages/GUPS.tar.gz >>>=20 >>> Exemplary GUPS results: >>> -------------------------------------------------------------------- >>> *superpages enabled* >>> vm.pmap.section.promotions: 1024 >>> vm.pmap.section.p_failures: 58 >>> vm.pmap.section.mappings: 0 >>> vm.pmap.section.demotions: 0 >>>=20 >>> # ./gups >>> Main table size =3D 2^27 =3D 134217728 words >>> Number of updates =3D 536870912 >>> CPU time used =3D 97.085938 seconds >>> Real time used =3D 97.082504 seconds >>> 0.005530048 Billion(10^9) Updates per second [GUP/s] >>>=20 >>> vm.pmap.section.promotions: 2048 >>> vm.pmap.section.p_failures: 58 >>> vm.pmap.section.mappings: 0 >>> vm.pmap.section.demotions: 0 >>>=20 >>> * superpages disabled * >>> Main table size =3D 2^27 =3D 134217728 words >>> Number of updates =3D 536870912 >>> CPU time used =3D 145.679688 seconds >>> Real time used =3D 145.680798 seconds >>> 0.003685255 Billion(10^9) Updates per second [GUP/s] >>> -------------------------------------------------------------------- >>>=20 >>> *Self host buildworld* >>> World build time on Armada XP has shortened from 6h 36min to >>> 5h 14min with superpages enabled. >>>=20 >>> *Stress tests* >>> stress --cpu 4 --io 4 --vm 2 --vm-bytes 800M >>> Survived long time runs, large superpages creation ratio has been = observed. >>>=20 >>> *Swapping* >>> No problems with swapping or system running under heavy load with >>> shortage of memory have been observed. >>>=20 >>>=20 >>> Please feel free to send your results. >>>=20 >>> Best regards >>> Zbigniew Bodek >>> _______________________________________________ >>> freebsd-arm@freebsd.org mailing list >>> http://lists.freebsd.org/mailman/listinfo/freebsd-arm >>> To unsubscribe, send any mail to = "freebsd-arm-unsubscribe@freebsd.org" >>=20 >=20