]>
Commit | Line | Data |
---|---|---|
aaad2f72 | 1 | 2009-07-02 Brian Behlendorf <behlendorf1@llnl.gov> |
762b96f6 BB |
2 | |
3 | * : Tag spl-0.4.4 | |
4 | ||
aaad2f72 BB |
5 | * : Generic distro friendly build system / packaging improvements |
6 | for RPM based distros including CHAOS, RHEL, Fedora, and SLES. | |
7 | ||
8 | spl-<version>.src.rpm | |
9 | - Fully rebuildable source rpm for utils. | |
10 | spl-modules-<version>.src.rpm | |
11 | - Fully rebuildable source rpm for kernel modules. | |
12 | ||
13 | spl-<version>.<arch>.rpm | |
14 | - Binary rpm for utils. The utils in this package are compatible | |
15 | with all spl-module rpms of the same version. | |
16 | ||
17 | spl-modules-<verion>-<kernel>.arch.rpm | |
18 | - Binary rpm containing the kernel modules for a specific kernel build. | |
19 | The package name contains the kernel version and you should have one | |
20 | of these packages installed to match every kernel on your system. | |
21 | spl-modules-devel-<verion>-<kernel>.arch.rpm | |
22 | - Binary rpm containing development header and module symbols needed | |
23 | for building additional kernel modules which are dependent on the | |
24 | spl module. | |
25 | ||
762b96f6 BB |
26 | * : Added SLES10 support. This includes all compatibility |
27 | changes to support 2.6.16 based kernels and the required | |
28 | build system improvements. | |
29 | ||
30 | * : Build System changes for SLES10: | |
31 | - Exclude -obj when detecting installed kernel source. | |
32 | - Detect -obj directory for out of tree kernel builds. | |
33 | - Allow kernel build system to set CC to ensure -m64 is set properly. | |
34 | This is an issue on 64-bit SLES systems which by default always | |
35 | build 32-bit binaries (unlike RHEL/Fedora which default to 64-bit) | |
36 | ||
37 | * : Configure Checks added for SLES10: | |
38 | - div64_64() renamed to div64_u64() as of 2.6.26. | |
39 | - global_page_state() fuction was introduced in 2.6.18 kernels. | |
40 | The earlier 2.6.16 based SLES10 must not try and use it, | |
41 | thankfully get_zone_counts() is still available. | |
42 | - monotonic_clock() is unavailable __gethrtime() must perform the | |
43 | HZ division as an 'unsigned long long' because the SPL only | |
44 | implements __udivdi3(), and not __divdi3() for 'long long' | |
45 | division on 32-bit arches. | |
46 | - mutex_lock_nested() was introduced as part of the mutex | |
47 | validator in 2.6.18, when it is unavailable it is safe to | |
48 | fallback to using a plain mutex_lock(). | |
49 | - SLES specific API change to vfs_unlink() and vfs_rename() which | |
50 | added a 'struct vfsmount *' argument. This was for something | |
51 | called the linux-security-module, but it appears that it was | |
52 | never adopted upstream. | |
53 | - spl_device_create() correctly mapped to class_device_create() | |
54 | for 2.6.13 to 2.6.17 based kernels, this is the preferred API. | |
55 | - Prior to 2.6.17 there were no *_pgdat helper functions in | |
56 | mm/mmzone.c. Instead for_each_zone() operated directly on | |
57 | pgdat_list which may or may not have been exported depending on | |
58 | how your kernel was compiled. A configure check was added to | |
59 | determine if you have the helpers or not, and if the needed | |
60 | symbols are exported. If they are not exported then they are | |
61 | dynamically aquired at runtime by kallsyms_lookup_name(). | |
62 | ||
63 | * : Packaging changes for SLES10 | |
64 | - Properly honor --prefix in build system and rpm spec file. | |
65 | - Add '--define require_kdir' to spec file to support building | |
66 | rpms against kernel sources installed in non-default locations. | |
67 | - Add '--define require_kobj' to spec file to support building | |
68 | rpms against kernel object installed in non-default locations. | |
69 | - Stop suppressing errors in autogen.sh script. | |
70 | - Improved logic to detect missing kernel objects when they are | |
71 | not located with the source. This is the common case for SLES | |
72 | as well as in-tree chaos kernel builds and is done to simply | |
73 | support for multiple arches. | |
74 | - Moved spl-devel build products to /usr/src/spl-<version>, a | |
75 | spl symlink is created to reference the last installed version. | |
76 | - Allow checking for exported symbols in both Module.symvers | |
77 | and Module.symvers. My stock SLES kernel ships an objects | |
78 | directory with Module.symvers, yet produces a Module.symvers | |
79 | in the local build directory. | |
80 | ||
81 | * : Added powerpc64 support. | |
82 | - Enable builds for powerpc64 ISA type. | |
83 | - Add DIV_ROUND_UP and roundup macros if unavailable. | |
84 | - Cast 64-bit values for %lld format string to (long long) to | |
85 | quiet compile warning. | |
86 | ||
87 | * module/splat/splat-ctl.c: Proper ioctl() 32/64-bit binary | |
88 | compatibility. We need to ensure the ioctl data itself is always | |
89 | packed the same for 32/64-bit binaries. Additionally, the correct | |
90 | thing to do is encode this size in bytes as part of the command | |
91 | using _IOC_SIZE(). | |
92 | ||
93 | * modules/spl/spl-kmem.c: Fixed a long standing bug in the debug | |
94 | tracing. The tcd_for_each() macro expected a NULL to terminate | |
95 | the trace_data[i] array but this was only ever true due to luck. | |
96 | All trace_data[] iterators are now properly capped by TCD_TYPE_MAX. | |
97 | ||
98 | * modules/spl/spl-kmem.c: To simplify debugging all symbols aquired | |
99 | dynamically using spl_kallsyms_lookup_name() are initially poisoned | |
100 | with SYMBOL_POISON. | |
101 | ||
f8b2932a BB |
102 | 2009-03-20 Brian Behlendorf <behlendorf1@llnl.gov> |
103 | ||
104 | * : Tag spl-0.4.3 | |
105 | ||
106 | * configure.ac, *Makefile.am: Build system update. This includes | |
107 | resolving various build issues and adding support for the remaining | |
108 | common build targets. Available targets now include: | |
109 | ||
110 | - make all # Build everything | |
111 | - make install # Install everything | |
112 | - make clean # Clean up build products | |
113 | - make distclean # Clean up everything | |
114 | - make dist # Create package tarball | |
115 | - make srpm # Create package source RPM | |
116 | - make rpm # Create package binary RPMs | |
117 | - make tags # Create ctags and etags for everything | |
118 | ||
119 | Extra care was taken to ensure that the source RPMs are fully | |
120 | rebuildable against Fedora/RHEL/Chaos kernels. To build binary | |
121 | RPMs from the source RPM for your system simply run: | |
122 | ||
123 | rpmbuild --rebuild spl-x.y.z-1.src.rpm | |
124 | ||
125 | This will produce two binary RPMs with correct 'requires' | |
126 | dependencies for your kernel. One will contain all zpl modules | |
127 | and support utilities, the other is a devel package for compiling | |
128 | additional kernel modules which are dependent on the spl. | |
129 | ||
130 | spl-x.y.z-1_<kernel version>.x86_64.rpm | |
131 | spl-devel-x.y.2-1_<kernel version>.x86_64.rpm | |
132 | ||
133 | * : FC10 (linux-2.6.27.19) and i686 compatibility update. The | |
134 | list of support platforms has been extended to include FC10 | |
135 | systems and x86 architectures. It should be noted that kernels | |
136 | older the 2.6.27.19 should work but have not have not been tested. | |
137 | ||
138 | * configure.ac: Fix build issue preventing spl_config.h from being | |
139 | cleanly included by dependent packages. | |
140 | ||
141 | * module/spl/spl-taskq.c: Fix taskq_wait() not waiting bug. | |
142 | ||
143 | * module/spl/spl-xdr.c: Add XDR implementation provided by Ricardo | |
144 | Correia from Sun. | |
145 | ||
146 | * module/spl/spl-kmem.c: Linux VM integration cleanup. | |
147 | ||
148 | * module/spl/spl-kmem.c: Slab cache improvements and fixes. | |
149 | ||
150 | * modules/splat/*: Include additional SPLAT regression tests. | |
151 | ||
152 | * : Various bug fixes are more clearly detailed in the git | |
153 | commit logs. For a detailed summary of changes post version | |
154 | 0.4.2 check the git commit logs. | |
155 | ||
156 | git log -35 | |
157 | ||
e50ad76d BB |
158 | 2009-02-05 Brian Behlendorf <behlendorf1@llnl.gov> |
159 | ||
160 | * : Tag spl-0.4.2 | |
161 | ||
162 | * module/spl/spl-kmem.c include/sys/kmem.h: Slab cache improvements: | |
163 | - Implement kmem cache alignment. | |
164 | - Implement slab ageing. | |
165 | - Optimized slab packing algorithm. | |
166 | - Fixed deadlock due to calling call kv_free() under the skc_lock. | |
167 | - Added additional SPLAT test cases | |
168 | - Performance optimizations | |
169 | ||
170 | * module/spl/spl-kmem.c include/sys/kmem.h: Linux VM integration. | |
171 | The Solaris global VM symbols minfree, desfree, lotsfree, needfree, | |
172 | swapfs_minfree, swapfs_reserve, availrmem, freemem, and physmem are | |
173 | now available and loosely integrating with the Linux VM. Some | |
174 | tuning will undoubtably be needed and these tunables are available | |
175 | in /proc/sys/kernel/spl/vm/* for this very reason. | |
176 | ||
177 | * config/spl-build.m4: New configure checks needed when building | |
178 | against 2.6.27+ kernels. More work is needed here. | |
179 | ||
180 | * : Minor cleanup see the 'git log' for full details. | |
181 | ||
064bbffb BB |
182 | 2009-01-21 Brian Behlendorf <behlendorf1@llnl.gov> |
183 | ||
184 | * : Tag spl-0.4.1 | |
185 | ||
186 | * : Implement ksid_*, ddi_strto*, and system taskq functionality. | |
187 | In addition, several other small Solaris compatibility changes | |
188 | were made, see the 'git log' for full details. | |
189 | ||
895ff83c BB |
190 | 2008-11-26 Brian Behlendorf <behlendorf1@llnl.gov> |
191 | ||
192 | * : Tag spl-0.4.0 (Development now done with Git) | |
193 | ||
194 | * : Imported SPL SVN repo in to Git Repo for core development. | |
195 | ||
dd529a30 | 196 | 2008-11-26 Brian Behlendorf <behlendorf1@llnl.gov> |
197 | ||
198 | * : Tag spl-0.3.5 | |
199 | ||
200 | * : Include META file support. | |
201 | ||
bf9f3bac | 202 | 2008-11-05 Jim Garlick <garlick@llnl.gov> |
203 | ||
204 | * : Add autogen.sh products. | |
205 | ||
f8b2932a | 206 | * configure.ac : Use AC_CONFIG_AUX_DIR to put autograph products |
bf9f3bac | 207 | in ./auotconf. |
208 | ||
209 | * autogen.sh : Use --copy to avoid symlinks, remove error | |
210 | redirection, run aclocal before libtoolize. | |
211 | ||
6a1c3d41 | 212 | 2008-11-13 Brian Behlendorf <behlendorf1@llnl.gov> |
213 | ||
214 | * include/sys/sunddi.h, modules/spl/spl-module.c : Removed default | |
215 | udev support from sunddi implementation because it uses GPL-only | |
216 | symbols. This support is optionally available for SPL consumers | |
217 | if they define HAVE_GPL_ONLY_SYMBOLS and license their module as | |
218 | GPL using the MODULE_LICENSE("GPL") macro. | |
219 | ||
5457aee1 | 220 | 2008-11-05 Brian Behlendorf <behlendorf1@llnl.gov> |
221 | ||
222 | * : Tag spl-0.3.4 | |
223 | ||
224 | * : Coverity clean. | |
225 | ||
226 | * : Patches from Ricardo M. Correia <Ricardo.M.Correia@sun.com> | |
227 | applied with minor revisions: | |
228 | ||
229 | spl-00-rm-gpl-symbol-notifier_chain.patch | |
230 | spl-01-rm-gpl-symbol-set_cpus_allowed.patch | |
231 | spl-02-rm-gpl-symbols-device.patch | |
232 | spl-03-rm-gpl-symbol-ktime_get_ts.patch | |
233 | spl-04-fix-taskq-spinlock-lockup.patch | |
234 | spl-05-div64.patch | |
235 | spl-06-atomic64.patch | |
236 | spl-07-kmem-cleanup.patch | |
237 | spl-08-km-sleep-nofail.patch | |
238 | spl-09-fix-kmem-track-oops.patch | |
239 | spl-10-fix-assert-verify-ndebug.patch | |
240 | ||
3ba97a67 | 241 | 2008-06-30 Brian Behlendorf <behlendorf1@llnl.gov> |
242 | ||
243 | * : Tag spl-0.3.3 | |
244 | ||
245 | * : modules/sys/kmem-slab.c : Refined SPL slab to include | |
246 | per-cpu caches, removed internal hash, other general | |
247 | performance improvements. Much work remain but it's pretty | |
248 | good for an initial implementation. | |
249 | ||
2fb9b26a | 250 | 2008-06-13 Brian Behlendorf <behlendorf1@llnl.gov> |
251 | ||
252 | * : modules/sys/kmem-slab.c : Re-implemented the slab to no | |
253 | longer be based on the linux slab but to be it's own complete | |
254 | implementation. The new slab behaves much more like the | |
255 | Solaris slab than the Linux slab. | |
256 | ||
c58f753d | 257 | 2008-06-04 Brian Behlendorf <behlendorf1@llnl.gov> |
258 | ||
259 | * : Tag spl-0.3.2 | |
260 | ||
261 | * : Extensive improvements to the build system to detect kernel | |
262 | API changes so we can flexibly build with a wider range of kernel | |
263 | versions. The code has now been testing with the 2.6.18-32chaos | |
264 | and 2.6.25.3-18.fc9 kernels, however we should also be compatible | |
265 | with other kernels in the range of 2.6.18-2.6.25. | |
266 | ||
57d86234 | 267 | 2008-05-25 Brian Behlendorf <behlendorf1@llnl.gov> |
268 | ||
269 | * configure.ac, autoconf/* : Initial pass at resolving | |
270 | API changes introduced by kernels newer than 2.6.18. | |
271 | ||
65a045da | 272 | 2008-05-21 Brian Behlendorf <behlendorf1@llnl.gov> |
273 | ||
274 | * : Tag spl-0.3.1 | |
275 | ||
276 | * : License headers including URCL added for release. | |
277 | ||
b2585b36 | 278 | 2008-05-21 Brian Behlendorf <behlendorf1@llnl.gov> |
279 | ||
280 | * : Tag spl-0.3.0 | |
281 | ||
282 | * configure.ac: Improved autotools support. | |
283 | ||
9ab1ac14 | 284 | 2008-04-26 Brian Behlendorf <behlendorf1@llnl.gov> |
285 | ||
286 | * include/sys/mutex.h : Implemented a close approximation | |
287 | of adaptive mutexes. These changes however required me to | |
288 | export a new symbol from the kernel proper 'task_curr()' | |
289 | which means we are now dependant on a patched kernel. | |
290 | ||
3561541c | 291 | 2008-04-24 Brian Behlendorf <behlendorf1@llnl.gov> |
292 | ||
293 | * : Tag spl-0.2.1 | |
294 | ||
295 | * modules/spl/spl-proc.c : Add /proc/sys/spl/version. | |
296 | ||
1bac409f | 297 | 2008-04-24 Herb Wartens <wartens2@llnl.gov> |
298 | ||
299 | * include/sys/kmem.h : Make sure that when calling __vmem_alloc | |
300 | that we do not have __GFP_ZERO set. Once the memory is allocated | |
301 | then zero out the memory if __GFP_ZERO is passed to | |
302 | __vmem_alloc. | |
303 | ||
55152ebb | 304 | 2008-04-16 Herb Wartens <wartens2@llnl.gov> |
305 | ||
306 | * modules/spl/spl-kmem.c : Make sure to disable interrupts | |
307 | when necessary to avoid deadlocks. We were seeing the deadlock | |
308 | when calling kmem_cache_generic_constructor() and then an interrupt | |
309 | forced us to end up calling kmem_cache_generic_destructor() | |
310 | which caused our deadlock. | |
311 | ||
f1ca4da6 | 312 | 2008-02-26 Brian Behlendorf <behlendorf1@llnl.gov> |
313 | ||
314 | : Initial commit of the solaris porting layer (spl). Included | |
315 | in addition to the source is an initial autoconf / configure | |
316 | style build system. |