On Fri, May 25, 2012 at 02:49:14PM +0100, Will Daniels wrote: > On 25/05/12 13:52, Ted Ts'o wrote: > >So what? If you write to a normal file system, it goes into the page > >cache, which is pretty much the same as writing into tmpfs. In both > >cases if you have swap configured, the data will get pushed to disk; > > That's not at all the same, the page cache is more temporary, it's > getting flushed to disk pretty quick if memory is tight (presumably) > but in the same situation using tmpfs going to swap is surely going > to be more disruptive?
There will be some, but really, not that much difference between going from tmpfs to swap compared to files written to a filesystem (in both cases the data is stored in the page cache, whether it's a tmpfs file or an ext2/3/4 or xfs or btrfs file) in many cases. The major difference is that tmpfs pages only get written out to swap when the system is under memory pressure. In contrast, pages which are backed by a filesystem will start being written to disk after 30 seconds _or_ if the system is under memory pressure. So if you have a super-fast networking connection, it won't matter; the download fill the memory very quickly, at which point it will get written to swap and/or the file location on disk at the same rate, since you'll be able to download faster than you can save to disk, so the network connection will get throttled due to TCP/IP backpressure to roughly the same rate as you are writing to the HDD. If you have a slow networking connection, it's possible that the 30 second writeback timer will kick off before you start filling the memory --- but in that case, it's not going to be that disrupting in the tmpfs case, either. You'll hit memory pressure, and at that point you'll start writing to disk perhaps a bit later than the 30 second writeback timer. But at the same time, the download is coming in slowly enough that you're probably not overwhelming the speed at which you can write to the HDD or SSD. The place where it will make a difference is if you have a very large amount of memory, *and* you are downloading a really big file to /tmp (substantially bigger than your physical memory), *and* your effective end-to-end download speed is faster than your HDD write speed, but slow enough that it takes substantially longer than 30 seconds to download enough to fill your free physical memory. But that's actually a pretty narrow window. > And anyway, not everybody uses swap, in which case this "default" is > not entirely viable. I, for one, had no idea this had become default > for Debian and I think it's likely to be one of those things that > jumps out to bite people who weren't expecting it at some > inconvenient moment. Well, it's all about defaults, right? It's easy enough to set up a swap partition, or even just a swap file by default in the installer. You can set up a swap file on the fly, so it's not that hard to deal with it after the fact. > I'm sure the project veterans and more attentive readers of this > list are tired of recurring arguments like this, but usually if > something is recurring it is for a reason. Given my general "no > swap" preference, I'm glad this has come up again so that I'm aware > of it this time. > > The tmpfs setup seems far more appropriate as a performance tweak > for admins than as a default. Where there is plenty of RAM, buffer > cache makes the difference largely negligible. But where there isn't > an abundance of RAM, it could needlessly cause problems (especially > without swap). If you're worried about installations which don't have much memory (i.e., the 512mb netbook), then swap is absolutely mandatory, I would think! And if you consider how much memory most desktop/laptops have, and how often people **really** are downloading multi-gigabyte files to /tmp (note that browsers tend to default downloads to ~/Downloads), I really think the people who are agitating against tmpfs are really making a much more theoretical argument than one that seems likely to be hit by an unsophisticated user --- and a sophistcated user can easily decide whether to use /tmp on disk or not. - Ted -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120526015655.ga5...@thunk.org