View Single Post
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: