diff options
| author | Andreas Bießmann <andreas.devel@googlemail.com> | 2012-11-14 13:32:37 +0100 | 
|---|---|---|
| committer | Anatolij Gustschin <agust@denx.de> | 2012-11-14 13:35:14 +0100 | 
| commit | da1fd96ce4ec58604edfaa7dd1ae4a528ce62a06 (patch) | |
| tree | fab62ead84a9a21cae813c8acfcd4b1cd6c932a5 | |
| parent | 624c721f0c6e42368cc1b466dbaa540dd3014295 (diff) | |
| download | olio-uboot-2014.01-da1fd96ce4ec58604edfaa7dd1ae4a528ce62a06.tar.xz olio-uboot-2014.01-da1fd96ce4ec58604edfaa7dd1ae4a528ce62a06.zip | |
fs/fs.c: do_fsload: measure throughput
This patch adds time measurement and throughput calculation for
all supported load commands.
The output of ext2load changes from
---8<---
1830666 bytes read
--->8---
to
---8<---
1830666 bytes read in 237 ms (7.4 MiB/s)
--->8---
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
[agust: rebased and revised commit log]
Signed-off-by: Anatolij Gustschin <agust@denx.de>
| -rw-r--r-- | fs/fs.c | 11 | 
1 files changed, 10 insertions, 1 deletions
| @@ -257,6 +257,7 @@ int do_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[],  	unsigned long pos;  	int len_read;  	char buf[12]; +	unsigned long time;  	if (argc < 2)  		return CMD_RET_USAGE; @@ -293,11 +294,19 @@ int do_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[],  	else  		pos = 0; +	time = get_timer(0);  	len_read = fs_read(filename, addr, pos, bytes); +	time = get_timer(time);  	if (len_read <= 0)  		return 1; -	printf("%d bytes read\n", len_read); +	printf("%d bytes read in %lu ms", len_read, time); +	if (time > 0) { +		puts(" ("); +		print_size(len_read / time * 1000, "/s"); +		puts(")"); +	} +	puts("\n");  	sprintf(buf, "0x%x", len_read);  	setenv("filesize", buf); |