From owner-freebsd-arm@freebsd.org Tue Aug 14 04:39:30 2018 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DAA31106AFC7 for ; Tue, 14 Aug 2018 04:39:29 +0000 (UTC) (envelope-from warlock@phouka1.phouka.net) Received: from phouka1.phouka.net (phouka1.phouka.net [107.170.196.116]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "phouka.net", Issuer "Go Daddy Secure Certificate Authority - G2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 649EE7DCAF; Tue, 14 Aug 2018 04:39:29 +0000 (UTC) (envelope-from warlock@phouka1.phouka.net) Received: from phouka1.phouka.net (localhost [127.0.0.1]) by phouka1.phouka.net (8.15.2/8.15.2) with ESMTPS id w7E4c565010629 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 13 Aug 2018 21:38:05 -0700 (PDT) (envelope-from warlock@phouka1.phouka.net) Received: (from warlock@localhost) by phouka1.phouka.net (8.15.2/8.15.2/Submit) id w7E4c5md010628; Mon, 13 Aug 2018 21:38:05 -0700 (PDT) (envelope-from warlock) Date: Mon, 13 Aug 2018 21:38:04 -0700 From: John Kennedy To: Mark Millard Cc: bob prohaska , Mark Johnston , freebsd-arm Subject: Re: RPI3 swap experiments ["was killed: out of swap space" with: "v_free_count: 5439, v_inactive_count: 1"] Message-ID: <20180814043804.GE81324@phouka1.phouka.net> References: <20180809033735.GJ30738@phouka1.phouka.net> <20180809175802.GA32974@www.zefox.net> <20180812173248.GA81324@phouka1.phouka.net> <20180812224021.GA46372@www.zefox.net> <20180813021226.GA46750@www.zefox.net> <0D8B9A29-DD95-4FA3-8F7D-4B85A3BB54D7@yahoo.com> <20180813185350.GA47132@www.zefox.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Aug 2018 04:39:30 -0000 First off Mark, well said. It's a pity to edit so much of it out. On Mon, Aug 13, 2018 at 01:05:38PM -0700, Mark Millard wrote: > Here there is architecture choice and goals/primary contexts. FreeBSD is > never likely to primarily target anything with a workload like buildworld > buildkernel on hardware like rpi3's and rpi2 V1.1's and Pine64+ 2GB's and so on. It's masochistic, but I think it's important to be able to recompile the FreeBSD platform. It's independent, it's standalone, and it doesn't depend on something else to give it life. I remember when BSD and it's predecessors ran on a lot less power than a RPI. Of course, everything was smaller then. You can pry my nice, modern computer with fast CPUs and fast disk out of my cold dead hands though. (: > And if things were still like gcc 4.2.1 for what it takes to build the > toolchain, this likely would not have been noticed on such hardware. The big > change has been what it takes to build the toolchain instance(s) that other > stages of buildworld buildkernel use. That is the change in the workload that > requires changes in the likes of vm.pageout_oom_seq for buildworld > buildkernel --or just finding a -jN figure that avoids leading to Low Free > RAM for the environment(when possible). I've been running vmstat in a loop during the whole build process (haven't finished a whole run yet). With 1G, I'm sort of begrudging ntpd it's 18M of resident RAM, but the top-5 and only running processes are by far and large the build processes (as sorted by resident memory). As you note, looking to have as much free RAM as possible (paging, not swapping since long delays in swread means I'm not crunching code). This run is -j4, and I expect I'll try a -j3 for the "fun" of it. As you note, doing some swapping isn't bad, as long as I'm not wasting so much time that my workload would run faster with -j3 and more RAM being available. It's true that a RPI is not my choice for disk-I/O workloads. And not enough RAM to keep it there, either but it's way better than some. I'd love to have a whole host of little IoT RPIs running FreeBSD if I wouldn't want to patch them all the time.