ext2 with xip
July 03, 2012 —
BarryK
As a followup to the previous thread:
http://bkhome.org/archive/blog2/201207/ext2-vs-ext3-vs-ext4.html
I have done a test build with ext2. I also put this into rc.sysinit:
mount -o remount,rw,xip /
I then opened 8 tabs in Chromium (each showing a different web page), then started Abiword and opened a document, then Gnumeric and opened a document, then Geany and again opened a document. These are all open at once, and no sign of breakage yet.
'free' shows usage of the swap partition steadily climbing as I started up more apps. Note, it only climbed a little bit as I opened up each tab in Chromium. Now using 6MB of swap.
This is very good news.
The swap partition is 256MB, and as more use of it is made, I would expect a slow down.
Hmmm, I have got to see when this breaks... opened Gnome-mplayer and played a tiny example video. Swap usage has climbed to 10MB.
Opened Osmo, Ayttm, Notecase... this pup is still going strong!
I am running out of things to open. But of course, this test is only going to be meaningful if I do the same thing without xip...
ext2 without xip
Ahem, I loaded all the same apps, got the same result.
Even going further, opened a second Chromium window, no problem.
So, xip doesn't seem to do anything. This has got me very curious, as Lobster reporting Chromium crashing after opening 4 tabs.
Let's see, trying one of my SD cards with ext4 f.s...
ext4
No problem, opens all the same apps. Interesting though, it is using much less swap.
This is fascinating, only 256MB and I it doesn't break. But, I wonder if there was no swap partition...
ext2, xip, no swap
Everything opens, no problem.
ext2, no xip, no swap
Ditto
I was expecting noticeable slowdown as I opened more apps, as pages get dropped from RAM, but responsiveness seems to remain the same. Very interesting.
These tests are telling me that the swap partition isn't needed, not for normal usage anyway. Maybe for heavier stuff like compiling. Nor xip, it doesn't seem to make any difference.
There is a good reason for not having the swap partition, is reduces writes to the Flash card. It seems that just allowing pages to be dropped from RAM does not lower reponsiveness noticeably.
...this reminds me, back in my uni lecturing days, when I thought that swap partitions were illogical, a cop-out for a badly designed OS.
Comments
"I have got to see when this breaks"Stress/Performance Testing
Username: GCMartin
"What is missing is some acceptable "bucket" or script or tool that everyone of us could use as a measure to report our findings. If one is adopted, it would serve to solidify distro testing for common breakage and issues. It also would provide something consistent, no matter who uses it as it would give some measurable way (logs/reports) to spot the rise of performance problems. Hope this helps
Quite interesting/needed
Username: anewuser
"Hi. What GCMartin brings up is quite needed. BUT being a hobby project I don't know how willing you'd guys be for to adopt that for the most casual users or just the core, more hardcore?, experienced developing team. Think of if much as "I did this in MY/public build, run this script on the YOUR/public distro/build to test so that it's easier "to report our findings" Case scenario, how well does gcc works for compilings .pets and how/if at all gcc works after upgrades compiling those same .pets "gconv cache file broken" is an issue for some users, as well as gcc missing some files in olders previous releases not exactly due to particular users' configuration within the test team, but I believe it has something to do with it. Sorry to bring this stuff up :$
Testing Software for Linux
Username: bigpup
"Here you go. Dig in. Linux stress testing and bench marking http://www.overclockers.com/forums/showthread.php?t=486495 This is interesting. Stress http://weather.ou.edu/~apw/projects/stress/
Re stress
Username: BarryK
"bigpup, Yes indeed: http://weather.ou.edu/~apw/projects/stress/ It is a small utility, available in the Debian repo. I do of course realise that the testing I did in the first post of this thread was only "casual". Maybe we can use this 'stress' utility to devise some more quantitative comparisons. However, the 'stress' utility is not a real situation. A real situation is where we are using Chromium, Abiword, etc., as a user would actually be doing. Perhaps we could write a script that automatically starts these apps and records what system resources are getting used. It would also have to record degradation in performance as more apps are opened.
Commercial Stress Testing
Username: CLAM01
"Browser windows and tabs start adding serious stress to a system, using a serious amount of system cpu and memory resources, when the windows and tabs are occupied by adverts and "market-query-ware", if we may euphemize spyware whose purpose is to profile us for advert targeting, and to have our profiles to sell to whoever may want to buy, instead of spy, e.g., TSA agencies who want to know whose computers might be most profitably "spot" checked at terminals... For my casual testing I go on the internet through a municipality provided free-internet, that, of course, justifies its cost by spying on user-usages, for security purposes, or funding contributions from security agencies, open several different browsers and load them with high-ad-rate sites, then monitor my cpu temperature and throttling. I used to run swap, and still do on old and slow machines, for speed improvement, but don't normally anymore, because I've found swap provides parking and build-space for invaders, loggers and out-loaders. For browser resource usage (measured by running browsers with the same tab occupations and measuring temperatures, I have found Opera to run the warmest in puppies, and so provide more stress. If you want Opera most resource-intense to stress a puppy, leave its auto-updating feature on. To run it cooler, tell it to not even check for updates.
Testing real situation
Username: bigpup
"Barry I understand your concerns with real world testing, using programs to stress test, verses just using the program Stress. However, the Stress program gives you complete, exact, repeatable, control of the test. A preset configured test is the same demand on system, every time. I think it would be possible to have several predetermined test setups or even a progressive, more demand each run, script. Testing using real world programs like Firefox, Abiword,etc... You will need to make up a test suite with the programs in it. You can only get consistent usable results if the exact same version of the programs are used each time. This would present size issue of test suite.
Tags: puppy