2009-02-05 Brian Behlendorf * : Tag spl-0.4.2 * module/spl/spl-kmem.c include/sys/kmem.h: Slab cache improvements: - Implement kmem cache alignment. - Implement slab ageing. - Optimized slab packing algorithm. - Fixed deadlock due to calling call kv_free() under the skc_lock. - Added additional SPLAT test cases - Performance optimizations * module/spl/spl-kmem.c include/sys/kmem.h: Linux VM integration. The Solaris global VM symbols minfree, desfree, lotsfree, needfree, swapfs_minfree, swapfs_reserve, availrmem, freemem, and physmem are now available and loosely integrating with the Linux VM. Some tuning will undoubtably be needed and these tunables are available in /proc/sys/kernel/spl/vm/* for this very reason. * config/spl-build.m4: New configure checks needed when building against 2.6.27+ kernels. More work is needed here. * : Minor cleanup see the 'git log' for full details. 2009-01-21 Brian Behlendorf * : Tag spl-0.4.1 * : Implement ksid_*, ddi_strto*, and system taskq functionality. In addition, several other small Solaris compatibility changes were made, see the 'git log' for full details. 2008-11-26 Brian Behlendorf * : Tag spl-0.4.0 (Development now done with Git) * : Imported SPL SVN repo in to Git Repo for core development. 2008-11-26 Brian Behlendorf * : Tag spl-0.3.5 * : Include META file support. 2008-11-05 Jim Garlick * : Add autogen.sh products. * configure.ac : Use AC_CONFIG_AUX_DIR to put autoconf products in ./auotconf. * autogen.sh : Use --copy to avoid symlinks, remove error redirection, run aclocal before libtoolize. 2008-11-13 Brian Behlendorf * include/sys/sunddi.h, modules/spl/spl-module.c : Removed default udev support from sunddi implementation because it uses GPL-only symbols. This support is optionally available for SPL consumers if they define HAVE_GPL_ONLY_SYMBOLS and license their module as GPL using the MODULE_LICENSE("GPL") macro. 2008-11-05 Brian Behlendorf * : Tag spl-0.3.4 * : Coverity clean. * : Patches from Ricardo M. Correia applied with minor revisions: spl-00-rm-gpl-symbol-notifier_chain.patch spl-01-rm-gpl-symbol-set_cpus_allowed.patch spl-02-rm-gpl-symbols-device.patch spl-03-rm-gpl-symbol-ktime_get_ts.patch spl-04-fix-taskq-spinlock-lockup.patch spl-05-div64.patch spl-06-atomic64.patch spl-07-kmem-cleanup.patch spl-08-km-sleep-nofail.patch spl-09-fix-kmem-track-oops.patch spl-10-fix-assert-verify-ndebug.patch 2008-06-30 Brian Behlendorf * : Tag spl-0.3.3 * : modules/sys/kmem-slab.c : Refined SPL slab to include per-cpu caches, removed internal hash, other general performance improvements. Much work remain but it's pretty good for an initial implementation. 2008-06-13 Brian Behlendorf * : modules/sys/kmem-slab.c : Re-implemented the slab to no longer be based on the linux slab but to be it's own complete implementation. The new slab behaves much more like the Solaris slab than the Linux slab. 2008-06-04 Brian Behlendorf * : Tag spl-0.3.2 * : Extensive improvements to the build system to detect kernel API changes so we can flexibly build with a wider range of kernel versions. The code has now been testing with the 2.6.18-32chaos and 2.6.25.3-18.fc9 kernels, however we should also be compatible with other kernels in the range of 2.6.18-2.6.25. 2008-05-25 Brian Behlendorf * configure.ac, autoconf/* : Initial pass at resolving API changes introduced by kernels newer than 2.6.18. 2008-05-21 Brian Behlendorf * : Tag spl-0.3.1 * : License headers including URCL added for release. 2008-05-21 Brian Behlendorf * : Tag spl-0.3.0 * configure.ac: Improved autotools support. 2008-04-26 Brian Behlendorf * include/sys/mutex.h : Implemented a close approximation of adaptive mutexes. These changes however required me to export a new symbol from the kernel proper 'task_curr()' which means we are now dependant on a patched kernel. 2008-04-24 Brian Behlendorf * : Tag spl-0.2.1 * modules/spl/spl-proc.c : Add /proc/sys/spl/version. 2008-04-24 Herb Wartens * include/sys/kmem.h : Make sure that when calling __vmem_alloc that we do not have __GFP_ZERO set. Once the memory is allocated then zero out the memory if __GFP_ZERO is passed to __vmem_alloc. 2008-04-16 Herb Wartens * modules/spl/spl-kmem.c : Make sure to disable interrupts when necessary to avoid deadlocks. We were seeing the deadlock when calling kmem_cache_generic_constructor() and then an interrupt forced us to end up calling kmem_cache_generic_destructor() which caused our deadlock. 2008-02-26 Brian Behlendorf : Initial commit of the solaris porting layer (spl). Included in addition to the source is an initial autoconf / configure style build system.