libblock and FAT

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Aug 26 07:40:50 UTC 2013


Hello Ric,

your bdbuf driver must support multi-block transfers to get good throughput. 
You should test your driver without a file system.

To get good throughput on FAT file systems you can do the following.

1. Select a proper cluster size, e.g. 32KiB.
2. Make sure that the partition used for the FAT file system is aligned on 
cluster boundaries.
3. Format the partition with the selected cluster size.
4. Enable a block size equal to the cluster size and make sure you have enough 
cache space (CONFIGURE_BDBUF_BUFFER_MAX_SIZE CLUSTER_SIZE).
5. Enable the read-ahead (CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS greater-than-zero).

Make sure that the function fat_init_volume_info() calls 
rtems_bdbuf_set_block_size().

You can get statistics with the blkstats shell command.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the users mailing list