Active Topics

 


Reply
Thread Tools
locusf's Avatar
Posts: 159 | Thanked: 341 times | Joined on Dec 2007 @ Helsinki, Finland
#1
Hi,

Just wanted to report on some results regarding compcache on N810 diablo. I compiled the modules required and I have given it a small test on my own N810. See the link below for information.

http://code.google.com/p/compcache/

See the attached zip:

EDIT: now its called ramzswap
ramzswap.zip


By far I have tested it with the biggest RAM hog that I know, the browser.

Some proof attached:

root@Nokia-N810-23-14:~ #_cat /proc/swaps
Filename Type Size Used Priority
/dev/ramzswap0 partition 31692 2008 -2

EDIT:

After posting my tablet rebooted, *sigh*
__________________
Regards,
LoCusF
http://locusf.blogspot.com

Last edited by locusf; 2009-04-04 at 11:48.
 

The Following 10 Users Say Thank You to locusf For This Useful Post:
locusf's Avatar
Posts: 159 | Thanked: 341 times | Joined on Dec 2007 @ Helsinki, Finland
#2
Originally Posted by locusf View Post
Hi,

Just wanted to report on some results regarding compcache on N810 diablo. I compiled the modules required and I have given it a small test on my own N810. See the link below for information.

http://code.google.com/p/compcache/

See the attached zip:

EDIT: now its called ramzswap
Attachment 3304


By far I have tested it with the biggest RAM hog that I know, the browser.

Some proof attached:

root@Nokia-N810-23-14:~ #_cat /proc/swaps
Filename Type Size Used Priority
/dev/ramzswap0 partition 31692 2008 -2

EDIT:

After posting my tablet rebooted, *sigh*
Ok, I got the fix for N810 and all ARM based products that were having issues with compcache. So here ramzswap.zip it is.
__________________
Regards,
LoCusF
http://locusf.blogspot.com
 

The Following 7 Users Say Thank You to locusf For This Useful Post:
Stskeeps's Avatar
Posts: 1,671 | Thanked: 11,478 times | Joined on Jun 2008 @ Warsaw, Poland
#3
Originally Posted by locusf View Post
Ok, I got the fix for N810 and all ARM based products that were having issues with compcache. So here Attachment 3740 it is.
Could you release the source you used in order to build it, as well? Then we can include in Mer kernels, for instance. Or is it just the release from the code.google site?
__________________
As you go on to other communities, remember to build them around politeness, respect, trust and humility. Be wary of poisonous people and deal with them before they end up killing your community.. Seen it happen to too many IRC channels, forums, open source projects.

Last edited by Stskeeps; 2009-07-21 at 14:30.
 
Posts: 74 | Thanked: 19 times | Joined on Oct 2008
#4
I'm interested in some more information about it as well. It sounds like a great idea but how do I properly use the .ko files? Can we make it into a package that can be installed through apt-get? What kind of performance are you seeing?

Thanks!
 
locusf's Avatar
Posts: 159 | Thanked: 341 times | Joined on Dec 2007 @ Helsinki, Finland
#5
Originally Posted by Stskeeps View Post
Could you release the source you used in order to build it, as well? Then we can include in Mer kernels, for instance. Or is it just the release from the code.google site?
Yeah its just the release from code.google.com site.

I'm interested in some more information about it as well. It sounds like a great idea but how do I properly use the .ko files? Can we make it into a package that can be installed through apt-get? What kind of performance are you seeing?

Thanks!
I'm seeing lots of improvements in the browser and evince, to name but a few. It used to take ten seconds when flash swap was used, to browse from page to page in evince. Now its a like 2 seconds or so. Also the browser sluggishness is gone.

You gotta ask the admins to include this to Mer repository, I can of course make a package for this if needed. But without the package, extract the zip and run from the same directory as you extracted the zip:

Code:
insmod xvmalloc.ko
insmod ramzswap.ko
You can specify the size of the swap as well in the insmod as a parameter:

Code:
insmod ramzswap.ko disksize_kb=10240
__________________
Regards,
LoCusF
http://locusf.blogspot.com

Last edited by locusf; 2009-07-21 at 15:35.
 

The Following 2 Users Say Thank You to locusf For This Useful Post:
debernardis's Avatar
Posts: 2,142 | Thanked: 2,054 times | Joined on Dec 2006 @ Sicily
#6
Maybe I can't use them on Chinook? Is it version specific.
I insmodded both modules without error messages - but when I ask cat /proc/swaps only the flash swap on mmc2 is shown.


EDIT Aha! needs
Code:
swapoff /media/mmc2/.swap
swapon /dev/ramzswap0 /media/mmc2/.swap
Plays nice with easy debian. Ooo seems faster - I'll do some timings later
Also, ooo allocates all the default 31700 megabytes of the ramzswap device, and runs over the .swap file on flash which has lower priority. Maybe a bigger ramzswap space could be better - tweak and experiment.

@locusf: also, I bet you have ported the 0.5 version, because it does not accept the parameters of the newest version, i.e. 0.6. Would you mind trying that one? Thanks
__________________
Ernesto de Bernardis


Last edited by debernardis; 2009-07-22 at 14:49.
 

The Following User Says Thank You to debernardis For This Useful Post:
javispedro's Avatar
Posts: 2,355 | Thanked: 5,249 times | Joined on Jan 2009 @ Barcelona
#7
This is a very nice idea indeed but I see two missing critical features:

a) When the "virtual swap" is full, it sends _uncompressed_ pages to the backing swap device. It would be nice to compress them before, may help with swap-on-sd performance.

b) The Diablo kernel version (2.6.21) does not support bio_discard (AFAIK) and as such it does not free memory when you close apps -- it will reuse it as soon as you need to swap out again, but it won't reuse the memory for file cache or something else.

After playing with it for a while:
Code:
BackingSwap:	/dev/mmcblk1p3
DiskSize:	  265072 kB
MemLimit:	   19016 kB
NumReads:	   46543
NumWrites:	   55683
FailedReads:	       0
FailedWrites:	       0
InvalidIO:	       0
PagesDiscard:	       0
ZeroPages:	    5774
GoodCompress:	     100 %
NoCompress:	       0 %
PagesStored:	   22095
PagesUsed:	    4838
OrigDataSize:	   88380 kB
ComprDataSize:	   19012 kB
MemUsedTotal:	   19352 kB
BDevNumReads:	   21727
BDevNumWrites:	   16769
Performance feels indeed better but as soon as you hit the MemLimit it slows down to a crawl again, and that's why I am suggesting a).

BTW, I could open nxagent, oowriter, oocalc, abiword, cacaovm running swt-example, the sun embedded jvm, xfce, Thunar, plus the whole of hildon at the same time before it started being unusable =).

Last edited by javispedro; 2009-07-22 at 22:25.
 

The Following User Says Thank You to javispedro For This Useful Post:
Agent 770's Avatar
Posts: 41 | Thanked: 13 times | Joined on Jun 2009 @ Wien , Austria
#8
Any hope to get this working in OS2007HE?
770 users desperately need those kind of improvements.
 
debernardis's Avatar
Posts: 2,142 | Thanked: 2,054 times | Joined on Dec 2006 @ Sicily
#9
I've been daily issuing this:
Code:
swapoff /dev/ramzswap0 /media/mmc2/.swap
swapon /dev/ramzswap0 /media/mmc2/.swap
when all application are closed.
This wipes the flash-based swap and re-enables it after.

I'm convinced (maybe it's an illusion) that it keeps my tablet quicker by refreshing all swap needed to the ram-based compressed ramzswap0 device.
__________________
Ernesto de Bernardis

 
javispedro's Avatar
Posts: 2,355 | Thanked: 5,249 times | Joined on Jan 2009 @ Barcelona
#10
Originally Posted by debernardis View Post
I've been daily issuing this: [CODE]
swapon /dev/ramzswap0 /media/mmc2/.swap[/CODE
By doing that ramzswap will not be using /media/mmc2/.swap as backing swap, but Linux will. The former is theoretically better. Is there any reason you're doing it this way? (even though maybe there's no performance benefit either way).
 
Reply


 
Forum Jump


All times are GMT. The time now is 21:57.