]>
Commit | Line | Data |
---|---|---|
9f95a23c TL |
1 | v2.24 Intel Intelligent Storage Acceleration Library Release Notes |
2 | ================================================================== | |
3 | ||
4 | RELEASE NOTE CONTENTS | |
5 | 1. KNOWN ISSUES | |
6 | 2. FIXED ISSUES | |
7 | 3. CHANGE LOG & FEATURES ADDED | |
8 | ||
9 | 1. KNOWN ISSUES | |
10 | ---------------- | |
11 | ||
12 | * Perf tests do not run in Windows environment. | |
13 | ||
14 | * 32-bit lib is not supported in Windows. | |
15 | ||
16 | 2. FIXED ISSUES | |
17 | --------------- | |
18 | v2.24 | |
19 | ||
20 | * Fix for crc32_iscsi(). Potential read-over for small buffer. For an input | |
21 | buffer length of less than 8 bytes and aligned to an 8 byte boundary, function | |
22 | could read past length. Previously had the possibility to cause a seg fault | |
23 | only for length 0 and invalid buffer passed. Calculated CRC is unchanged. | |
24 | ||
25 | * Fix for compression/decompression of > 4GB files. For streaming compression | |
26 | of extremely large files, the total_out parameter would wrap and could | |
27 | potentially flag an otherwise valid lookback distance as being invalid. | |
28 | Total_out is still 32bit for zlib compatibility. No inconsistent compressed | |
29 | buffers were generated by the issue. | |
30 | ||
31 | v2.23 | |
32 | ||
33 | * Fix for histogram generation base function. | |
34 | * Fix library build warnings on macOS. | |
35 | * Fix igzip to use bsf instruction when tzcnt is not available. | |
36 | ||
37 | v2.22 | |
38 | ||
39 | * Fix ISA-L builds for other architectures. Base function and examples | |
40 | sanitized for non-IA builds. | |
41 | ||
42 | * Fix fuzz test script to work with llvm 6.0 builtin libFuzz. | |
43 | ||
44 | v2.20 | |
45 | ||
46 | * Inflate total_out behavior corrected for in-progress decompression. | |
47 | Previously total_out represented the total bytes decompressed into the output | |
48 | buffer or temp internal buffer. This is changed to be only the bytes put into | |
49 | the output buffer. | |
50 | ||
51 | * Fixed issue with isal_create_hufftables_subset. Affects semi-dynamic | |
52 | compression use case when explicitly creating hufftables from histogram. The | |
53 | _hufftables_subset function could fail to generate length symbols for any | |
54 | length that were never seen. | |
55 | ||
56 | v2.19 | |
57 | ||
58 | * Fix erasure code test that violates rs matrix bounds. | |
59 | ||
60 | * Fix 0 length file and looping errors in igzip_inflate_test. | |
61 | ||
62 | v2.18 | |
63 | ||
64 | * Mac OS X/darwin systems no longer require the --target=darwin config option. | |
65 | The autoconf canonical build should detect. | |
66 | ||
67 | v2.17 | |
68 | ||
69 | * Fix igzip using 32K window and a shared object | |
70 | ||
71 | * Fix igzip undefined instruction error on Nehalem. | |
72 | ||
73 | * Fixed issue in crc performance tests where OS optimizations turned cold cache | |
74 | tests into warm tests. | |
75 | ||
76 | v2.15 | |
77 | ||
78 | * Fix for windows register save in gf_6vect_mad_avx2.asm. Only affects windows | |
79 | versions of ec_encode_data_update() running with AVX2. A GP register was not | |
80 | properly restored resulting in corruption on return. | |
81 | ||
82 | v2.14 | |
83 | ||
84 | * Building in unit directories is no longer supported removing the issue of | |
85 | leftover object files causing the top-level make build to fail. | |
86 | ||
87 | v2.10 | |
88 | ||
89 | * Fix for windows register save overlap in gf_{3-6}vect_dot_prod_sse.asm. Only | |
90 | affects windows versions of erasure code. GP register saves/restore were | |
91 | pushed to same stack area as XMM. | |
92 | ||
93 | 3. CHANGE LOG & FEATURES ADDED | |
94 | ------------------------------ | |
95 | v2.24 | |
96 | ||
97 | * Igzip small file performance improvements and new features. | |
98 | - Better performance on small files. | |
99 | - New gzip/zlib header and trailer handling. | |
100 | - New gzip/zlib header parsing helper functions. | |
101 | - New user-space compression/decompression tool igzip. | |
102 | ||
103 | * New mem unit added with first function isal_zero_detect(). | |
104 | ||
105 | v2.23 | |
106 | ||
107 | * Igzip inflate (decompression) performance improvements. | |
108 | - Implemented multi-byte decode for inflate. Decode can pack up to three | |
109 | symbols into the decode table making some compressed streams decompress much | |
110 | faster depending on the prevalence of short codes. | |
111 | ||
112 | v2.22 | |
113 | ||
114 | * Igzip: AVX2 version of level 3 compression added. | |
115 | ||
116 | * Erasure code examples | |
117 | - New examples for standard EC encode and decode. | |
118 | - Example of piggyback EC encode and decode. | |
119 | ||
120 | v2.21 | |
121 | ||
122 | * Igzip improvements | |
123 | - New compression levels added. ISA-L fast deflate now has more levels to | |
124 | balance speed vs. target compression level. Level 0, 1 are as in previous | |
125 | generations. New levels 2 & 3 target higher compression roughly comparable | |
126 | to zlib levels 2-3. Level 3 is currently only optimized for processors with | |
127 | AVX512 instructions. | |
128 | ||
129 | * New T10dif & copy function - crc16_t10dif_copy() | |
130 | - CRC and copy was added to emulate T10dif operations such as DIF insert and | |
131 | strip. This function stitches together CRC and memcpy operations | |
132 | eliminating an extra data read. | |
133 | ||
134 | * CRC32 iscsi performance improvements | |
135 | - Fixes issue under some distributions where warm cache performance was | |
136 | reduced. | |
137 | ||
138 | v2.20 | |
139 | ||
140 | * Igzip improvements | |
141 | - Optimized deflate_hash in compression functions. | |
142 | Improves performance of using preset dictionary. | |
143 | - Removed alignment restrictions on input structure. | |
144 | ||
145 | v2.19 | |
146 | ||
147 | * Igzip improvements | |
148 | ||
149 | - Add optimized Adler-32 checksum. | |
150 | ||
151 | - Implement zlib compression format. | |
152 | ||
153 | - Add stateful dictionary support. | |
154 | ||
155 | - Add struct reset functions for both deflate and inflate. | |
156 | ||
157 | * Reflected IEEE format CRC32 is released out. Function interface is named | |
158 | crc32_gzip_refl. | |
159 | ||
160 | * Exact work condition of Erasure Code Reed-Solomon Matrix is determined by new | |
161 | added program gen_rs_matrix_limits. | |
162 | ||
163 | v2.18 | |
164 | ||
165 | * New 2-pass fully-dynamic deflate compression (level -1). ISA-L fast deflate | |
166 | now has two levels. Level 0 (default) is the same as previous generations. | |
167 | Setting to level 1 will switch to the fully-dynamic compression that will | |
168 | typically reach higher compression ratios. | |
169 | ||
170 | * RAID AVX512 functions. | |
171 | ||
172 | v2.17 | |
173 | ||
174 | * New fast decompression (inflate) | |
175 | ||
176 | * Compression improvements (deflate) | |
177 | - Speed and compression ratio improvements. | |
178 | - Fast custom Huffman code generation. | |
179 | - New features: | |
180 | * Run-time option of gzip crc calculation and headers/trailer. | |
181 | * Choice of static header (BTYPE 01) blocks. | |
182 | * LARGE_WINDOW, 32K history, now default. | |
183 | * Stateless full flush mode. | |
184 | ||
185 | * CRC64 | |
186 | - Six new 64-bit polynomials supported. Normal and reflected versions of ECMA, | |
187 | ISO and Jones polynomials. | |
188 | ||
189 | v2.16 | |
190 | ||
191 | * Units added: crc, raid, igzip (deflate compression). | |
192 | ||
193 | v2.15 | |
194 | ||
195 | * Erasure code updates. New AVX512 versions. | |
196 | ||
197 | * Nasm support. ISA-L ported to build with nasm or yasm assembler. | |
198 | ||
199 | * Windows DLL support. Windows builds DLL by default. | |
200 | ||
201 | v2.14 | |
202 | ||
203 | * Autoconf and autotools build allows easier porting to additional systems. | |
204 | Previous make system still available to embedded users with Makefile.unx. | |
205 | ||
206 | * Includes update for building on Mac OS X/darwin systems. Add --target=darwin | |
207 | to ./configure step. | |
208 | ||
209 | v2.13 | |
210 | ||
211 | * Erasure code improvments | |
212 | - 32-bit port of optimized gf_vect_dot_prod() functions. This makes | |
213 | ec_encode_data() functions much faster on 32-bit processors. | |
214 | - Avoton performance improvements. Performance on Avoton for | |
215 | gf_vect_dot_prod() and ec_encode_data() can improve by as much as 20%. | |
216 | ||
217 | v2.11 | |
218 | ||
219 | * Incremental erasure code. New functions added to erasure code to handle | |
220 | single source update of code blocks. The function ec_encode_data_update() | |
221 | works with parameters similar to ec_encode_data() but are called incrementally | |
222 | with each source block. These versions are useful when source blocks are not | |
223 | all available at once. | |
224 | ||
225 | v2.10 | |
226 | ||
227 | * Erasure code updates | |
228 | - New AVX and AVX2 support functions. | |
229 | - Changes min len requirement on gf_vect_dot_prod() to 32 from 16. | |
230 | - Tests include both source and parity recovery with ec_encode_data(). | |
231 | - New encoding examples with Vandermonde or Cauchy matrix. | |
232 | ||
233 | v2.8 | |
234 | ||
235 | * First open release of erasure code unit that is part of ISA-L. |