![]() |
Re: [ANNOUNCE] COMPCACHE on kernel-power (now with notifications)
Quote:
In the N8x0 world, having 128 MB of RAM we are using disksize=96 MB by default. As you know, disksize is not the ram used by compcache, having a compression ratio of about 1/3 usually, so in the N8x0 we usually have about 50 MB of swapped ram and 20 MB of ram used for compcache. So, I find very curious that you are using such a low value when you have 256 MB and a much faster cpu. Really, you should be able to use disksize>128MB with no problems, so may be there is some other cause, may be too much locked ram? Well, having a look at your sources, I'd recommend to try the same changes I did in ramzswap_drv.h , increase max_zpage_size_nobdev to PAGE_SIZE/8*7, and do not setup a backing device (the code is really inefficient). |
Re: [ANNOUNCE] COMPCACHE on kernel-power (now with notifications)
Just for the record: i ALWAYS had reboot issues when enabling ramzswap device, regardless of disksize. Just uninstalled speedpatch and batterypatch (like freemangordon suggested multiple times), and tried again (propbably for the 10th time now). At least it created and initialized the device now. So now up to testing with freemangordon's proposed proc and sys values.
I used colin.stephane´s kernel packages btw, and moved swap to /dev/mmcblk1p2 (512MB size). Remaining issue is that swapoff /dev/mmcblk0p3 takes ages and often returns the message "swapoff: /dev/mmcblk0p3: Cannot allocate memory". Question: can we use memlimit_kb instead of disdksize_kb and provide /dev/mmcblk1p2 as backing swap, disabling swap on /dev/mmcblk0p3 as usual? |
Re: [ANNOUNCE] COMPCACHE on kernel-power (now with notifications)
Quote:
|
Re: [ANNOUNCE] COMPCACHE on kernel-power (now with notifications)
Quote:
|
Re: [ANNOUNCE] COMPCACHE on kernel-power (now with notifications)
|
Re: [ANNOUNCE] COMPCACHE on kernel-power (now with notifications)
so after more tests and long uptimes i've finished up with
swappiness=30 page-cluster=5 vfs_cache_pressure=110 dirty_background_ratio=5 disksize_kb=81920 Next step is to test it with BFS... |
Re: [ANNOUNCE] COMPCACHE on kernel-power (now with notifications)
Quote:
what is the difference of backing swap and second swap? I do understand that enabling another swap (after the first) will just give some more amount of swap, if first one overflows. Right? And the prority of first enabled swap is always higher (or use swapon with option -p 32767, enhanced busybox). So where is the difference of backing/second? |
Re: [ANNOUNCE] COMPCACHE on kernel-power (now with notifications)
Quote:
Setting a second swap behaves like you would expect it to do: when the first one gets full, the second one will be used (if you haven't changed the swap space's priority, that is). |
Re: [ANNOUNCE] COMPCACHE on kernel-power (now with notifications)
Quote:
EDIT: There's the mount package, supportingly with priority support for swap. EDIT2: Said mount package has unmet python dependencies on my device. Bummer. |
Re: [ANNOUNCE] COMPCACHE on kernel-power (now with notifications)
Quote:
Quote:
First, effectively, there is a spin lock involved in each stat64 operation, but why is it there? Because compcache 0.6.2 supports several ramzswap devices, and needs to protect the stat operations of one device from the others. If you look at the compcache 0.5.5 sources, you'll see that there is no spin lock at all, and what is more, the mutex held in ramzswap_write() is freed before all stats operations. So, having just one ramzswap device, and I can't see why anybody could want to have more than one in the N900, there can't be slowdown at all. Second, even if you have more than one ramzswap devices, all stat operations are just integer additions. How much will have one process to wait for another to perform an integer addition?. A microsecond?, and that's within a page operation which requires either compress or decompress no less than 4 KB. Third, you talk about swap trashing, but not having stats prevents anybody from knowing what's going on inside ramzswap. Finally, you recognize we have much bigger issues here, with a much bigger impact than a few microseconds from a lonely spin lock, where we would benefit from any information available to find and fix them. The more peope is able to gather information, the more chances that this gets fixed. By asking me, and everybody else, to build ourselves the modules, you are just putting blocks in the road. So, I strongly advocate for enabling stats, which we have been using in the much slower N8x0 with no problem since I started this project. Believe me, it is a feature you want there. Quote:
With ramzswap active and some memory pressure (just microb and opera), I observe that: - the amount of free memory is much bigger than with normal swap, I've seen up to 100 MB free, while with normal swap it is around 5-10 MB free - the amount of free memory constantly oscillates against the used memory with a period of a few seconds, while the swap consumed remains more or less constan. The oscillation can be as big as 10 to 100 MB, it seems the bigger the ramzswap size, the bigger the oscillation. I have never seen anything like that happen in the N810. It could be the changes Nokia did into the swap code (haven't looked), or it could be memory mapping of some big files, or it could be buffers/cache pressure, or the Xorg heap (just guessing), but it seems that, as memory used for ramzswap grows, it puts pressure into freeing memory, but as free memory grows, something puts pressure for using that memory a while later, repeating a cycle. This requires more investigation. Quote:
|
All times are GMT. The time now is 13:18. |
vBulletin® Version 3.8.8