summaryrefslogtreecommitdiff
path: root/drivers/staging/fsl_dce/tests/performance_simple/README
blob: d9bcdbf16d4c0568d72d0b020b88539513bbcf86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
This module demonstrates the DCE throughput performance using a single file.

When the module is unloaded here is a sample output:

Compression thoughput:      9453 Mbps (12600 Mbps for 400 Mhz DCE)

The indivial throughput is displayed. In this case the compression was
9.4 Gbps (giga bit per second). This hardware was not configured for maximum
clock frequencies. In this case the test case prints out what the approximate
ideal thoughput would have been if the DCE engine was clocked at its max
frequency. In this case it would have been about 12.6 Gbps.

The module can read the input for (de)compression from a specified file or can
use a choice of statically linked in data.
The resulting (de)compressed file can be written to a specified file.

Either compression or decompression can be done. Not both at the same time.
This is a limitation of the test and not the hw/driver.

Module parameters:

test_mode : 0 is gzip compression, 1 is gzip decompression

use_local_file: Permitted values are 0, 2, 4, 8, 12. If non-zero use the
	statically linked in data for (de)compression. 2 means 2k file.
	4 means 4k file, etc.

in_file : Specifies the file to read in for (de)compression. If
	use_local_file is non-zero this value is ignored.

out_file: specifies the file to write out the result of the (de)compression
	operation. Only one of the (de)compression result is writing at the
	end of the test. This value is optional.

b_sg_block_size_code : When using Bman as output this specifies the size of
	s/g blocks. This value is directly linked to the value used be the DCE
	hw.
	0	: 64 bytes (4 table entries)
	1	: 128 bytes (8 table entries)
	2	: 256 bytes
	3	: 512 bytes
	4	: 1024 bytes
	5	: 2048 bytes
	6	: 4096 bytes
	7	: 8192 bytes (512 table entries)

b_sg_block_count : Specified the number of sg blocks to release into a BMan
	buffer pool.

bman_data_size : Specifies the total size of all the bman buffers released
	to the bman data buffer pool. The default value is 22,000,000 bytes.
	For instance, if the expected size of the output file is larger than
	22Mb, then this value should be increated.

comp_effort : value of compression effort to use.
	0 :

b_dexp : Specifies the exponent part of BMan data buffer output size.
	values: 7..22
b_dmant : Specifies the mantissa part of BMan data buffer output size.
	values: 1..16

Therefore the size of the BMan data buffer will be size = b_dmant * 2^b_dexp
The default is 1 * 2^12 = 4096 bytes

block_size : This is the size of each data block used for INPUT s/g. The module
	will read in a file and then build s/g input. This value defines the
	size of each data block referenced by the sg table entries.

Example:
root@t4240qds:# insmod ./dce_perf_simple_test.ko test_mode=0 in_file="InputData1" out_file="InputData1.1_1.gz" comp_effort=1
Loading dce_perf_simple_test module
BMan data block size is 4096
Size of file: InputData1 is 20000000
Released 5372 data blocks of size 4096
DCE thread on cpu 1
Output length is 13249938

root@t4240qds:# rmmod dce_perf_test.ko
DCE Freq = 299999997 hz
CPU Freq: 1666666650
Cycles to complete = 28197315
Time (usec) to complete = 16925
Scaling factor (by 1000) = 1333
Total Input Bytes to Compress:   20000000
Input file size compression: 20000000 bytes
Compression thoughput:      9453 Mbps (12600 Mbps for 400 Mhz DCE)
Decompression thoughput: None