Reply
Thread Tools
Posts: 370 | Thanked: 443 times | Joined on Jan 2006 @ Italy
#71
Being back on N900 and hitting against old problems like low memory and eternal swap time
Did somebody ever think to compile power_kernel with page_size set to 32K? ARM architecture supports this, and on my uSD this should mean (for me, testing with flashbench) 5x better transfer speed in swapping to a uSD partition...
Crazy idea? In case, where to find kernel-power sources and how to setup scratchbox for Kernel compilation?
 

The Following 2 Users Say Thank You to jurop88 For This Useful Post:
Posts: 2,153 | Thanked: 8,462 times | Joined on May 2010
#72
Originally Posted by jurop88 View Post
In case, where to find kernel-power sources and how to setup scratchbox for Kernel compilation?
Read first post! In that you find link to development thread :-) where are also steps how to download & compile kernel-power yourself.

http://talk.maemo.org/showthread.php?t=78371
 

The Following 2 Users Say Thank You to pali For This Useful Post:
Posts: 370 | Thanked: 443 times | Joined on Jan 2006 @ Italy
#73
Thanks! I was missing the source dev repository in my /etc/apt/sources.list and of course apt-get was not installing the sources...
I'll report as soon as I have time to compile/install/test
 

The Following User Says Thank You to jurop88 For This Useful Post:
Posts: 1,163 | Thanked: 1,873 times | Joined on Feb 2011 @ The Netherlands
#74
Originally Posted by jurop88 View Post
Being back on N900 and hitting against old problems like low memory and eternal swap time
Did somebody ever think to compile power_kernel with page_size set to 32K? ARM architecture supports this, and on my uSD this should mean (for me, testing with flashbench) 5x better transfer speed in swapping to a uSD partition...
Crazy idea? In case, where to find kernel-power sources and how to setup scratchbox for Kernel compilation?
Really 5x? Seems like massive improvement, why nobody thought about that before? Or did one?
__________________
N900 loaded with:
CSSU-T (Thumb)
720p recording,
Pierogi, Lanterne, Cooktimer, Frogatto
N9 16GB loaded with:
Kernel-Plus
--
[TCPdump & libpcap | ngrep]
--
donate
 
Posts: 110 | Thanked: 362 times | Joined on May 2014
#75
Can we have the card name and some absolute speed numbers for 4k and 32k please. On which device did you run the tests .. we need infos
 
Posts: 370 | Thanked: 443 times | Joined on Jan 2006 @ Italy
#76
Results from a Transcend 8M class4 uSD card:
Code:
Making sure the device has no mounted partitions
name USD
oemid 0x4142
manfid 0x00001e
hwrev 0x1
fwrev 0x0
Running flashbench
4MiB    5.16M/s 
2MiB    3.25M/s 
1MiB    1.57M/s 
512KiB  958K/s  
256KiB  500K/s  
128KiB  696K/s  
64KiB   9.65M/s 
32KiB   3.84M/s 
16KiB   4.1M/s  
8KiB    1.57M/s 
4KiB    765K/s
Results from a Kingston 4M class4 uSD card
Code:
Making sure the device has no mounted partitions
name SE04G
oemid 0x544d
manfid 0x000002
hwrev 0x0
fwrev 0x7
Running flashbench
4MiB    10.6M/s 
2MiB    5.89M/s 
1MiB    2.82M/s 
512KiB  1.39M/s 
256KiB  695K/s  
128KiB  348K/s  
64KiB   175K/s  
32KiB   990K/s  
16KiB   1M/s    
8KiB    858K/s  
4KiB    436K/s
ARMV7 supports 4k, 64k + 1M, 2M and 1G page sizes with LPAE implementation.
With the second card, moving from 4k to 1Mb is 5x performance, but with the first card to move from 4k to 64k (no LPAE) would mean 10x.
Changing page_size is not an easy task, though... I am dirtying my hand into kernel source and I really feel the task is a bit hard to accomplish and over my capabilities. Specially with so little time to dedicate
There is a patch called transparent hugepages floating around, but it will not beneficial since we need to look for and modify how the pages are phisically swapped in and out from the block device.
This is where I am standing right now.

Last edited by jurop88; 2016-01-22 at 07:31. Reason: typos
 

The Following 5 Users Say Thank You to jurop88 For This Useful Post:
Posts: 110 | Thanked: 362 times | Joined on May 2014
#77
Originally Posted by mr_pingu View Post
Really 5x? Seems like massive improvement, why nobody thought about that before? Or did one?
My feeling is that it doesnt improve the situation:

Fragmentation may looses ram:
http://yarchive.net/comp/linux/page_sizes.html

mb/s isnt latency:
If your software needs random read like swap, you cant convert it to sequential by just changing the kernel page size.
(write isnt that important cause you can change the swappiness to swapout ahead of time (at the cost of battery life), the kernel first overwrites code pages which he just rereads from the filesystem (no need to write them, they are already saved) and so most swap operations are random reads (which are slow even compared to sequential(!) writes which you can do when you actually do swap out other data) (But this may depend on your swap policy))

I hope swap gets already paged in and out in multiple Blocks, no need to recompile:
http://www.gluster.org/community/doc..._Kernel_Tuning
"cat /proc/sys/vm/page-cluster"

But maemo + kernel seems so old (and sadly not good at io) that i found sparse, outdated and even contradicting info.

ram via sd would be nice
But not as nice as better software.

But i would like to be proofed wrong. So post real world experience!
 
Posts: 41 | Thanked: 22 times | Joined on Aug 2010
#78
I'm confused. I need a real simple step-by-step to start with

So this is what I think I need to do. Please correct me if I have it wrong!

1) From Hildon Application Manager install package: Linux kernel for power user.

2) That's it, right? Then I just reboot?

Now, I do have some sort of choices on booting, but I don't think I have U-boot. I think I installed some kind of multiboot. (I was playing with nitdroid, I think. It's been a few years. ) So, do I need U-boot? Not need U-boot? I seem to remember U-boot had some issues where you had to uninstall something else. ??

As you can see, confused! If you can help, I'd be super-grateful!
 
endsormeans's Avatar
Posts: 3,139 | Thanked: 8,156 times | Joined on Feb 2013 @ From my Gabriola Island hermitage, near the Edge of the World
#79
It's ok man.
A fellow Maemoan wise in what you need explained... will help.
Give it a bit of time for those fellows to notice.

Most explanations here are geared for either a modest or high ( or if you wish to call it "deep") understanding to begin with to fathom, appreciate and execute some desired results...
I do believe in making things as easy as possible in explanation...
as if explaining a process always to someone completely new to our device lines...
It may make such explanation long winded....but everyone understands it.
And god knows I need my own walk-throughs at times..since it is so rare that I do some processes (due to the stability of our devices and platforms) I forget how to do them!!! So I have had to resort to my own walk-throughs many times myself...

I must admit that in some areas here we truly do need "Noob to Pro" written and / or video guides..
It may take some effort to create them ( I know...I've done them... ) ...
but once created...
such walk-throughs are invaluable...
such prepared guides just run all on their own...
like little engines
easy to always refer to...
Saving frustration on the side of the ignorant ( not "ignorant" in the derogotory sense...but "ignorant" as in "not-knowing" sense )

and it saves the perpetual explanation and exasperation on the side of those explaining....

and saves both A LOT of time better pursued doing other things...

More and more I believe such guides are necessary as more and more new people come to our device lines with a great desire to understand ...but have a problem with serious technical terms and methods (which many of us here understand and take for granted everyone "must" also understand...but there was always a time when we all "didn't" get it...so compassion and understanding metes out and you will get a suitable explanation I am sure my good sir..) ...

This could be easily remedied by a step by step walk-through written for all levels of understanding to comprehend ...best is both written and video combined...

But unless it was a "given" protocol here..
it is really up to the creator of "...." to decide their approach to explanation...
__________________
Lurker since 2007, Member since 2013, Certifiable since 1972

Owner of :
1-n770 (in retirement), 3-n800's / 3-n810's (still in daily use), 5-n900's ((3 are flawless, 1 loose usb ( parts), 1 has no telephony (parts))
3-nexus 5's : 1 w/ Floko Pie 9.1 (running beautifully) waiting for Stable Droid 10 rom, 1 w/ ̶Ubuntu Touch, 1 with Maru OS (intend maemo leste when ready)

1/2 - neo900 pre- "purchased" in 2013. N̶o̶w̶ ̶A̶w̶a̶i̶t̶i̶n̶g̶ ̶r̶e̶f̶u̶n̶d̶ ̶p̶r̶o̶c̶e̶s̶s̶ ̶l̶a̶s̶t̶ ̶f̶e̶w̶ ̶y̶e̶a̶r̶s̶ - neo900 start up declared officially dead -
Lost invested funds.


PIMP MY N8X0 (Idiot's Guide and a video walkthrough)http://talk.maemo.org/showthread.php?t=94294
THE LOST GRONMAYER CATALOGShttp://talk.maemo.org/showthread.php...ight=gronmayer
N8X0 VIDEO ENCODING THE EASY WAYhttp://talk.maemo.org/showthread.php...ght=mediacoder
242gb ON N800http://talk.maemo.org/showthread.php?t=90634
THE PAIN-FREE MAEMO DEVELOPMENT LIVE DISTRO-ISO FOR THE NOOB TO THE PROhttp://talk.maemo.org/showthread.php?t=95567
AFFORDABLE MASS PRODUCTION FOR MAEMO PARTShttp://talk.maemo.org/showthread.php?t=93325

Meateo balloons now available @ Dave999's Meateo Emporium

Last edited by endsormeans; 2016-04-14 at 00:27.
 
Posts: 1,808 | Thanked: 4,272 times | Joined on Feb 2011 @ Germany
#80
Originally Posted by quixote View Post
I'm confused. I need a real simple step-by-step to start with

So this is what I think I need to do. Please correct me if I have it wrong!

1) From Hildon Application Manager install package: Linux kernel for power user.

2) That's it, right? Then I just reboot?

Now, I do have some sort of choices on booting, but I don't think I have U-boot. I think I installed some kind of multiboot. (I was playing with nitdroid, I think. It's been a few years. ) So, do I need U-boot? Not need U-boot? I seem to remember U-boot had some issues where you had to uninstall something else. ??

As you can see, confused! If you can help, I'd be super-grateful!
You should first tell us what you want to do!

When you install a kernel (step (1) you mentioned above) it is placed in a special partition so that the boot loader (NOLO) will run it.

U-boot acts like a kernel, i.e. it is stored on the kernel partition so that NOLO runs it. U-Boot can then run an attached (embedded) kernel (usually the default Nokia kernel) or another kernel of your choice, being installed somewhere else (another partition, Mydocs, sdcard, whatever).

For completeness:
Multiboot is for all I (we) care deprecated. It basically replaces the installed kernel (i.e. in the kernel partition) with whatever kernel you choose when booting. I've never actually used it, and I don't think there's any valid use-case for it. U-boot does that and much more and much more reliably.

Then there's bootmenu and backupmenu. They are not kernels but they run very early (first thing after the kernel has done its initialization). You can use bootmenu and/or backupmenu independently of which kernel you boot (Nokia kernel, kernel power, or U-boot with some kernel).

In short: if you now install kernel-power it will install itself in the kernel partition (which for you is OK because you don't want/need/know-about U-boot). If you have multiboot it will continue to appear but I'd advise you to remove it. For this, please ask again (or make a new thread, or search here). I believe you only need to replace /sbin/preinit but as I said I've never installed/used/uninstalled it.

Good luck.

PS: Before you do anything, make sure you have a working set-up for flashing the N900. That means the firmware, the flasher and a computer than can actually work with that. If in doubt, ask first.
 

The Following 5 Users Say Thank You to reinob For This Useful Post:
Reply


 
Forum Jump


All times are GMT. The time now is 20:37.