leetnoob
|
2011-02-17
, 15:32
|
Posts: 224 |
Thanked: 155 times |
Joined on Jan 2011
|
#41
|
|
2011-02-17
, 15:47
|
Posts: 310 |
Thanked: 383 times |
Joined on Jan 2010
|
#42
|
That's not entirely correct. flash memory has massive penalty on writing randomly to different erase pages. I planned to share a link here, but have to realize I can't find the one good one. Google might help, or ask shadowJK on #maemo IRC. Basically the point is - depending on number of buffers in MMC controller - the writing to a different erase page (wich are sized like e.g 128kb) makes the controller erase a flash-page and write the dirty internal buffer to flash, then read back to buffer the new page addressed, and finally modifies the content of buffer according to the pending IO. So for a sequence like write to 0x10000, 0x50000, 0xB0000 it makes almost no difference if the individual write IO is for 1 byte or 50kB - it's the erasing and rewriting of a whole page that takes xx milliseconds, while IO to the same erase page actually only modifies the RAM buffer in controller and takes no time at all.
AFAIK a lot of elementary stuff already is mlocked, e.g rtcom-dialer-ui
What we really need is maybe a scheduler (plus kswapd) tailored to fit the exact operation mode and capabilities of the particular flash controller
/j
The Following 2 Users Say Thank You to nightfire For This Useful Post: | ||
|
2011-02-17
, 16:03
|
Posts: 309 |
Thanked: 115 times |
Joined on May 2010
@ Malaysia
|
#43
|
|
2011-02-17
, 16:11
|
|
Posts: 35 |
Thanked: 23 times |
Joined on Feb 2006
@ Houston, TX
|
#44
|
Hey everyone,
I've been using my phone as a wireless media server for friends (with Samba + wifi hotspot). While it worked brilliantly for reads, writes were causing all kinds of weird issues, and absolutely destroyed interactivity on the phone itself.
Later, while copying several 400mb files from internal storage to my SD card, it actually froze, and rebooted. I suspect dsme was swapped out and couldn't respond quickly enough to avoid the watchdog.
|
2011-02-17
, 16:20
|
|
Posts: 1,030 |
Thanked: 792 times |
Joined on Jun 2009
|
#45
|
The Following 3 Users Say Thank You to hawaii For This Useful Post: | ||
|
2011-02-17
, 17:09
|
Posts: 310 |
Thanked: 383 times |
Joined on Jan 2010
|
#46
|
Your work on improving interactivity is much appreciated but I want to make sure we're not missing an important point as well -- you're using your N900 as a wireless media server with Samba and copying hundreds of megabytes at a time internally.
This behavior deserves recognition for going above the call of duty to prove the N900 is indeed a pocket computer.
The Following 2 Users Say Thank You to nightfire For This Useful Post: | ||
|
2011-02-17
, 22:07
|
Posts: 62 |
Thanked: 62 times |
Joined on Jul 2010
@ New Hampshire, US
|
#47
|
The thing is, I suspect the I/O buffer on most MicroSD cards is big enough that we don't routinely hit the situation of distributed writes causing excessive erases, because for me the streaming performance wasn't affected at all.
|
2011-02-17
, 22:41
|
Posts: 155 |
Thanked: 61 times |
Joined on Nov 2009
|
#48
|
|
2011-02-17
, 23:23
|
Posts: 1,522 |
Thanked: 392 times |
Joined on Jul 2010
@ São Paulo, Brazil
|
#49
|
you can adjust most of these settings from swappolube, but its missing the
why couldn't you look yourself?Code:/proc/sys/vm/min_free_kbytes /sys/block/mmcblk0/queue/nr_requests /sys/block/mmcblk1/queue/nr_requests
|
2011-02-17
, 23:38
|
Posts: 1,522 |
Thanked: 392 times |
Joined on Jul 2010
@ São Paulo, Brazil
|
#50
|
-sh: cannot create /sys/block/mmcblk1/queue/nr_requests: nonexistent directory