Reply
Thread Tools
Posts: 1,680 | Thanked: 3,685 times | Joined on Jan 2011
#221
Originally Posted by impeham View Post
I've tested same configuration as yours since you posted it - the device's response feels amazing - smooth and fast. i've tested with several applications open which affected the desktop response before and not anymore.

Thanks for sharing
Seems you beat me to the punch, way to steal my mojo. I have been running these settings since this morning when I posted. I have just come back from a 3 hour motorbike ride.


The whole time I had running:
  • marble maps, making a track with GPS
  • 2 browser windows, one with TMO open.
  • conversations
  • OMP playing an MP3
  • Cloudgps briefly
  • xterm
  • and I was snapping photos with camera-ui2 and blessn900
  • I also answered some phone calls

I am running CSSU-T+KP50@250-900(SR vdd1+2).


All in all I have not seen any lagz, in fact everything seems like a fresh boot 'normal'. I think this is a definite improvement from 'as soon as ramz full, n900 lags to ****'. As to whether it is a complete improvement? I do not know yet and this is not even using the swap on uSD which in theory should make things even better.

My proc/sys/vm/:

Code:
/proc/sys/vm/block_dump 0
/proc/sys/vm/dirty_background_ratio 3
/proc/sys/vm/dirty_expire_centisecs 100
/proc/sys/vm/dirty_ratio 3
/proc/sys/vm/dirty_writeback_centisecs 100
/proc/sys/vm/drop_caches 0
/proc/sys/vm/laptop_mode 0
/proc/sys/vm/lowmem_allowed_pages 58815
/proc/sys/vm/lowmem_allowed_uids 30000 30001 30002 30003 0 0 0 0
/proc/sys/vm/lowmem_deny_watermark 44
/proc/sys/vm/lowmem_deny_watermark_pages 32768
/proc/sys/vm/lowmem_free_pages 201647
/proc/sys/vm/lowmem_notify_high -67
/proc/sys/vm/lowmem_notify_high_pages 98304
/proc/sys/vm/lowmem_notify_low -123
/proc/sys/vm/lowmem_notify_low_pages 131072
/proc/sys/vm/lowmem_nr_decay_pages 1024
/proc/sys/vm/lowmem_reserve_ratio 32
/proc/sys/vm/lowmem_used_pages 0
/proc/sys/vm/max_map_count 65536
/proc/sys/vm/min_free_kbytes 4096
/proc/sys/vm/mmap_min_addr 4096
/proc/sys/vm/nr_pdflush_threads 2
/proc/sys/vm/oom_dump_tasks 0
/proc/sys/vm/oom_kill_allocating_task 0
/proc/sys/vm/overcommit_memory 0
/proc/sys/vm/overcommit_ratio 50
/proc/sys/vm/page-cluster 0
/proc/sys/vm/panic_on_oom 0
/proc/sys/vm/percpu_pagelist_fraction 0
/proc/sys/vm/swappiness 95
/proc/sys/vm/vfs_cache_pressure 666
I am not going to lie, I do not understand all of the settings in the VM.

You will notice is swappiness is so damn high. My notion being that with reduced ram (due to ramz taking up so much space) the device is going to swap, there is no fighting it. So to use swappolube style settings will not work. They angle for swap little and swap rarely. So if we are going to HAVE TO swap then by christ we are going to swap to the mutha ****ing MAX with only programs being swapped in/out, no VFS cache.

VFS_cache_pressure > 100 tells the VM system to dump file system caches whenever it can (more or less). Reading from our RAM and flash media is mega fast, so we do not really need any file system caches so chuck em, chuck em as fast as you can. I think you can see the effect of this. With VFS_cache pressure so high (although it could go higher) I can actually see the amount of space used in ramz swap going up and down. This suggests to me that ramz space is properly being churned through, i.e. there is no junk in there just good tasty stuff that we need swapped in and out. Before I would observe ramz filling, the lags would start then I would give up.

echo 32 > /proc/sys/vm/min_free_kbytes sets the amount of free space for allocating big chunks if they happen to come along. Screw it, I need every goddamned KB. So it has been reduced from 4MB of waste to 32KB of waste.

The rest of the stuff is cruft left over from swappolube and some stuff by the guy in 'massive IO improvement under heavy load'. Particularly the parts about nr_requests and dirty ratios.

This is after about 8 hours of use:

Code:
cat /proc/swaps
Filename				Type		Size	Used	Priority
/dev/mmcblk0p3                          partition	786424	64476	-2
/dev/ramzswap0                          partition	65528	61572	-1
Ramz ain't even full!

Next I shall run 128MB Ramz and see what happens.
__________________
N900: One of God's own prototypes. A high-powered mutant of some kind never even considered for mass production. Too weird to live, and too rare to die.

Last edited by vi_; 2012-05-27 at 21:17.
 

The Following 15 Users Say Thank You to vi_ For This Useful Post:
Posts: 309 | Thanked: 456 times | Joined on Jan 2010
#222
@vi - I'm willing to give this another go - any chance you could share your pre-compiled kp50 binaries or .deb files modified with compcache?
 
Posts: 1,680 | Thanked: 3,685 times | Joined on Jan 2011
#223
w00t, meh first wikeh
__________________
N900: One of God's own prototypes. A high-powered mutant of some kind never even considered for mass production. Too weird to live, and too rare to die.
 

The Following 11 Users Say Thank You to vi_ For This Useful Post:
Posts: 3,074 | Thanked: 12,960 times | Joined on Mar 2010 @ Sofia,Bulgaria
#224
Originally Posted by vi_ View Post
w00t, meh first wikeh
Any idea what is the rationale behind "echo 4 > /sys/block/mmcblkN/queue/nr_requests" in the context of compcache? As I see it, that setting will have a major impact on device responsiveness during heavy i/o, leading to watchdog kicking in some corner cases.
__________________
Never fear. I is here.

720p video support on N900,SmartReflex on N900,Keyboard and mouse support on N900
Nothing is impossible - Stable thumb2 on n900

Community SSU developer
kernel-power developer and maintainer

 

The Following 4 Users Say Thank You to freemangordon For This Useful Post:
Posts: 1,680 | Thanked: 3,685 times | Joined on Jan 2011
#225
Originally Posted by freemangordon View Post
Any idea what is the rationale behind "echo 4 > /sys/block/mmcblkN/queue/nr_requests" in the context of compcache? As I see it, that setting will have a major impact on device responsiveness during heavy i/o, leading to watchdog kicking in some corner cases.
By jove FMG. You have done it.

Code:
insmod /lib/modules/current/ramzswap.ko disksize_kb=131072 && sleep 1
swapon /dev/ramzswap0 && sleep 1
swapoff /dev/mmcblk0p3 && sleep 1 && swapon /dev/mmcblk0p3 && sleep 1
echo 3 > /proc/sys/vm/dirty_ratio
echo 3 > /proc/sys/vm/dirty_background_ratio
echo 100 > /proc/sys/vm/dirty_writeback_centisecs 
echo 100 > /proc/sys/vm/dirty_expire_centisecs 
echo 32 > /proc/sys/vm/min_free_kbytes 
echo 95 > /proc/sys/vm/swappiness 
echo 200 > /proc/sys/vm/vfs_cache_pressure 
echo 0 > /proc/sys/vm/page-cluster
echo 4000 > /sys/block/mmcblk0/queue/nr_requests
echo 4000 > /sys/block/mmcblk1/queue/nr_requests
At first I was convinced 128MB ramz was futile. I could not get past opening opening 6 webpages + opera (1 web page) without the system grinding to a halt.

Now I have:

6 webpages + opera (1 web page) + conversations + image viewer + conky + sygic mobile + an SMS + modest + xterm + disk-useage + angry birds.

Gives this:

Code:
cat /proc/swaps
Filename                                Type            Size    Used    Priority
/dev/mmcblk0p3                          partition       786424  72924   -2
/dev/ramzswap0                          partition       131064  131060  -1
There is a teensy bit of lag (100-200mS) when switching between windows however page scrolling seems smooth when you get there. Angry birds for example is fully playable (or as playable as AB is)I have yet to try receiving a call under this load or try some easy debian programs.

At this point I can say RAMZSWAP RULEZ. (this statement is subject to further testing)

As for nr_requests, I thought that by keeping the que short, things would be eligible for shunting out to swap ASAP. Kind of like keeping page cluster low. Alas it seems to not be the case.

As I said, I do not fully understand all of this stuff. I am still chimping in the dark.
__________________
N900: One of God's own prototypes. A high-powered mutant of some kind never even considered for mass production. Too weird to live, and too rare to die.

Last edited by vi_; 2012-05-28 at 12:42.
 

The Following 4 Users Say Thank You to vi_ For This Useful Post:
Posts: 1,225 | Thanked: 1,905 times | Joined on Feb 2011 @ Quezon City, Philippines
#226
Originally Posted by vi_ View Post
By jove FMG. You have done it.

Code:
insmod /lib/modules/current/ramzswap.ko disksize_kb=131072 && sleep 1
swapon /dev/ramzswap0 && sleep 1
swapoff /dev/mmcblk0p3 && sleep 1 && swapon /dev/mmcblk0p3 && sleep 1
echo 3 > /proc/sys/vm/dirty_ratio
echo 3 > /proc/sys/vm/dirty_background_ratio
echo 100 > /proc/sys/vm/dirty_writeback_centisecs 
echo 100 > /proc/sys/vm/dirty_expire_centisecs 
echo 32 > /proc/sys/vm/min_free_kbytes 
echo 95 > /proc/sys/vm/swappiness 
echo 200 > /proc/sys/vm/vfs_cache_pressure 
echo 0 > /proc/sys/vm/page-cluster
echo 4000 > /sys/block/mmcblk0/queue/nr_requests
echo 4000 > /sys/block/mmcblk1/queue/nr_requests
I'm running this right now. The performance is frakkin' insane. App response times (not including app launch, which is slowed down by loading programs into compressed RAM) are improved way, way more than a modest overclock! (I disabled overclocking to test actual performance gains)
__________________
N9 PR 1.3 Open Mode + kernel-plus for Harmattan
@kenweknot, working on Glacier for Nemo.
 
Posts: 249 | Thanked: 277 times | Joined on May 2010 @ Brighton, UK
#227
I'm the chappie who threw together swapset. I've tried the above settings with it and it works awesomely. The settings caused resets under load for me at first, but I realised I still had a very old set of settings in my /etc/default/kernel-power file, and after dumping those all seems well. I might try overclocking again to see if I can get the best of both world...but awesome job for that bit of tuning. I stopped looking at swapset when I realised compcache had awful performance with my current settings, but I might go back to it now and have it automatically swap between vm settings based upon whether you have compcache in use. Might have to add a conflicts with swapolube though...or perhaps just override it? Hmmm...
 

The Following 8 Users Say Thank You to mr_jrt For This Useful Post:
Posts: 1,523 | Thanked: 1,997 times | Joined on Jul 2011 @ not your mom's FOSS basement
#228
I'm using swapset (64MB ramz, 512MB on SD). With _vi's settings,the pig now flies faster than a damn V2. Impressive! /darthvadervoice
 

The Following 4 Users Say Thank You to don_falcone For This Useful Post:
peterleinchen's Avatar
Posts: 4,118 | Thanked: 8,901 times | Joined on Aug 2010 @ Ruhrgebiet, Germany
#229
Hey,

my experiences are not that good.
Tried around with vi_'s settings, went back with swappolube to ddfault settings (yes before also esets). But it is still not as snappy as with just swap on SD. App launching and task switching is just fine now again. With ramzswap enabled always a bit behind, subjective.
Tried around with those parameters, but to no avail (some of them I have nfc what they do).

My swap usage is quite higher than vi_'s.
Code:
~ $ cat /proc/swaps 
Filename				Type		Size	Used	Priority
/dev/mmcblk0p3                          partition	786424	0	-1
/dev/loop7                              partition	786424	226948	0
Maybe swap usage higher than ramzswap size is the problem?

Furthermore I noticed with these settings a huge amount of data written on SD swap: 1,5GB a day. Causing my swap refresh to become activated twice a day. where it normally is at least 1-2 days.
And the battery felt a bit like a looser (estimated 1000mAh).

Just my experiences. Hope we can get it to run for everybody easily. and gain RAM. speed, ...

BTW: mr_jrt, i think you have small bug in swapset.
if -s checks for file size -gt 0. but /dev/ramzswap always returns 0
so I modified a bit (also timeout will not activate) and this runs in my multiboot (so I may decide to activate or not via keyboard).
PHP Code:
        #peterleinchen
        
if [ -/lib/modules/current/ramzswap.ko ]
        
then
            log 
"modprobing compcache/ramzswap/zramswap"
            
modprobe ramzswap disksize_kb=65535
            ramzswap_succeeded
=$?
            
log "ramzswap result: $ramzswap_succeeded"
            
if [ "$ramzswap_succeeded"0" ]
            
then
                start_wait
=$(date +%s)
                
wait=$start_wait
                timeout
=1
                
while [ ! -/dev/ramzswap0 -$(($wait $start_wait)) -lt $timeout ]
                do
                    
log "waiting for ramzswap devnode"
                    
sleep 1wait=$(date +%s)
                
done
                
if [ $(($wait $start_wait)) -lt $timeout ]
                
then
                    
#can never be reached, as /dev is not mounted properly
                    
log "activating ramzswap"
                    
swapon -p 1 /dev/ramzswap0
                    
#so we have to activate later...
                
fi
            fi
        fi
        
#peterleinchen end 
 

The Following 3 Users Say Thank You to peterleinchen For This Useful Post:
Posts: 669 | Thanked: 433 times | Joined on May 2010
#230
Originally Posted by vi_ View Post
From this morning I am using:

64MB ramzswap
swap on eMMC

echo 3 > /proc/sys/vm/dirty_ratio
echo 3 > /proc/sys/vm/dirty_background_ratio
echo 100 > /proc/sys/vm/dirty_writeback_centisecs
echo 100 > /proc/sys/vm/dirty_expire_centisecs
echo 32 > /proc/sys/vm/min_free_kbytes
echo 95 > /proc/sys/vm/swappiness
echo 666 > /proc/sys/vm/vfs_cache_pressure
echo 0 > /proc/sys/vm/page-cluster
echo 4 > /sys/block/mmcblk0/queue/nr_requests
echo 4 > /sys/block/mmcblk1/queue/nr_requests

All is as smooth as Bulgarian butter so far, and yes I have opened many webpages, have a video playing in the background and conversations+images+file manager.

Cat /proc/swaps shows ramz is well full ages ago.

Will report later.
In the last two days i've been using these settings - the device responsiveness is great, but i found a few new issues with it since (i'm not sure it is related):

there seems to be some problem with the tracker process - it stopped working - the output i got from its log when i restarted it (/root/.local/share/tracker/tracker.log):
----
29 May 2012, 23:03:07: Tracker-Critical **: Indexer couldn't disable all volumes, Method "VolumeDisableAll" with signature "" on interface "org.freedesktop.Tracker.Indexer" doesn't exist

29 May 2012, 23:03:07: (null)-Warning **: Attempt to disconnect from signal 'Finished' which is not registered
----
I removed its installation and installed again and now i can see that it starts ok, trackerd and tracker-indexer processes exist now, but i cannot see images in the photos application, no videos/music and internet radio files in Open Media Player, and my email widget shows "no configured account" if i open it i can see the email account as usual in the email application (i've waited until after the database refresh counter shown when photos application is launched - and still - no media files can be seen with these applications).

The only 2 changes i made in the past few days was to start using the ramz partition and change these settings, however this might be just a co-incidence. i've read in few places that there might be a file limit for the tracker, but wasn't able to fix it.


Anyone had similar exprience/knows the cause for this and how to fix it?

Last edited by impeham; 2012-05-29 at 21:03.
 

The Following User Says Thank You to impeham For This Useful Post:
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 04:43.