From owner-freebsd-arm@freebsd.org Sat Mar 3 01:46:46 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 8A95EF35F8C for ; Sat, 3 Mar 2018 01:46:46 +0000 (UTC) (envelope-from fbsd@www.zefox.net) Received: from www.zefox.net (www.zefox.net [69.239.235.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "www.zefox.org", Issuer "www.zefox.org" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 01B8F859B0; Sat, 3 Mar 2018 01:46:45 +0000 (UTC) (envelope-from fbsd@www.zefox.net) Received: from www.zefox.net (localhost [127.0.0.1]) by www.zefox.net (8.15.2/8.15.2) with ESMTPS id w231kigj037530 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 2 Mar 2018 17:46:45 -0800 (PST) (envelope-from fbsd@www.zefox.net) Received: (from fbsd@localhost) by www.zefox.net (8.15.2/8.15.2/Submit) id w231khfc037529; Fri, 2 Mar 2018 17:46:43 -0800 (PST) (envelope-from fbsd) Date: Fri, 2 Mar 2018 17:46:43 -0800 From: bob prohaska To: "Rodney W. Grimes" Cc: Ian Lepore , "freebsd-arm@freebsd.org" , bob prohaska Subject: Re: Is maximum swap usage tunable? Message-ID: <20180303014643.GD37148@www.zefox.net> References: <20180303004315.GB37148@www.zefox.net> <201803030102.w231298R032483@pdx.rh.CN85.dnsmgr.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201803030102.w231298R032483@pdx.rh.CN85.dnsmgr.net> User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Mar 2018 01:46:46 -0000 On Fri, Mar 02, 2018 at 05:02:09PM -0800, Rodney W. Grimes wrote: > > On Fri, Mar 02, 2018 at 10:15:57AM -0700, Ian Lepore wrote: > > > > > You forgot a cause: (5) swap is on an sdcard where taking 30-90 seconds > > > to complete an IO is "normal". > > > > > FWIW, the Sandisk Extreme USB flash drive is claimed to be considerably > > faster than that, ~2MB/sec random write, at least per > > http://usb.userbenchmark.com/SanDisk-Extreme-USB-30-16GB/Rating/1301 > > One hopes(!) that the microSD cards of the same name are simlar. > > > > > Making it even more fun, there's a sort of (5.5) bullet: an sdcard can > > > "lend" its horrible performance to every other storage device in the > > > system. ?If there is a ton of IO queued up to the sd device (such as > > > when .o files from a a make -j are ending up there) then all the > > > buffers in the system get stacked up in the sd device's bio queue and > > > IO to other devices suffers. > > > > > A j4 buildworld on an RPI2 running -current seems to work much better > > than j2 on an RPI3, both using the same Sandisk flash devices. The Pi2 > > has /usr, /var /tmp and swap on USB flash, the Pi3 has /tmp and half > > the swap on microSD, with /usr, /var and the other half of swap on > > USB flash. Thus, /tmp and all of swap are on the same device for the > > Pi2, while /tmp and only half the swap are on the same device on the Pi3. > > It was expected the Pi3 should work better than the Pi2, but the opposite > > seems to be observed. > > I would actually expect the opposite, but not for an obvious reason, > the RPI2 is running a 32 bit version of FreeBSD, and the RPI3 is > running a 64 bit version. These are memory constrained devices, > and my theory is that the wasted memory used for pointers that can > never address more than the 2G of physcial space on the RPI3 are > killing your memory foot print, and killing your build. > Any idea how much memory gets wasted? Right now the Pi3 kernel is smaller than that of the Pi2, -r-xr-xr-x 1 root wheel 7142608 Feb 25 17:11 /boot/kernel/kernel versus -r-xr-xr-x 1 root wheel 9426388 Feb 26 22:31 /boot/kernel/kernel on the Pi2. Seems like that ought to at least help... > Getting that 32 bit version of FreeBSD running on the RPI3 would > prove out my theory. > How much and what kind of work is required? > In my mind it makes 0 sense to run a 64 bit OS on a device that > physically has less than 4G of memory, other than as an exercise > in yes, we can make the 64 bit code run on that cpu, but for > real work usage it makes no practical sense. I also suspect > that the cortex CPU in that thing can run 32 bit code a wee > bit faster than 64 bit code other than large data moves... > I agree, and remember your observations along those lines some time ago. The only reason I'm fooling with arm64 is that the older Pi2 seems NLA and the Pi3 is, or soon will be, the only option. A Pi3 running Raspbian, on which I'm typing this, is a quite decent little workstation. It's using USB flash (old and slow, by the way) for swap, but has a Sandisk Extreme microSD card. > > > I've always thought the new(ish) IO scheduler stuff should be able to > > > help with that in some way, but I never get around to looking at it. > > > > > > > > I'd be pleased to do any testing I can, if it helps. > > Thanks for reading, bob prohaska