+2010-03-11 Brian Behlendorf <behlendorf1@llnl.gov>
+
+ * : Tag spl-0.4.8
+
+ * : Build system improvements:
+ - Remove Module.markers and Module.symver{s} in clean target.
+ - Improved kernel source detection when none specified.
+ - Fix RPM definitions for the unknown distro/installation.
+
+ * config/spl-build.m4: Linux 2.6.32 compat, SPL_AC_5ARGS_PROC_HANDLER
+ macro added to handle updated proc_handler () API.
+
+ * module/spl/spl-err.c: Fix panic() string, which was being used as a
+ format string, instead of an already-formatted string.
+
+ * /module/spl/spl-taskq.c: Optimize lowest outstanding taskqid
+ calculation in taskq_lowest_id(). The motivation for this change
+ was that I was observing as much as 10% of the total CPU time go
+ to waiting on the tq->tq_lock when the pending list was long.
+
+ * module/spl/spl-kmem.c: Strip __GFP_ZERO from kmalloc it is not
+ available for older kernels.
+
+ * module/spl/spl-proc.c: Add skc_flags and full header to
+ /proc/spl/kmem/slab
+
+ * module/spl/spl-generic.c: Correctly handle division on 32-bit RHEL5
+ systems by returning dividend.
+
+ * include/sys/rwlock.h: When using x86 specific rwsem correctly
+ intepret rwsem->count. Additionally check for changed guard macro
+ in 2.6.28+ for rwsem implementation
+
+ * module/splat/splat-vnode.c, module/splat/splat-kmem.c,
+ module/splat/splat-taskq.c: Several new tests were added to the
+ test suite and various bug fixes.
+
+ * include/asm/atomic_compat.h: Atomic64 compatibility for 32-bit
+ systems without kernel support.
+
+ * .gitignore: Added .gitignore files.
+
+2009-11-20 Brian Behlendorf <behlendorf1@llnl.gov>
+
+ * : Tag spl-0.4.7
+
+ * config/spl-build.m4: Linux 2.6.31 compat, SPL_AC_2ARGS_SET_FS_PWD
+ macro updated to explicitly include linux/fs_struct.h which was
+ dropped from linux/sched.h.
+
+ * include/linux/mm_compat.h: Linux 2.6.31 compat, use the macros
+ min_wmark_pages, low_wmark_pages, and high_wmark_pages which were
+ introduced. For older kernels a compability macro is used.
+
+ * include/sys/kmem.h: Linux 2.6.31 compat, the __GFP_NOFAIL flag
+ should no longer be used and it may disappear from the kernel at any
+ time. To handle this I have simply added *_nofail wrappers in the
+ kmem implementation which perform the retry for non-atomic allocations.
+
+ * module/spl/spl-kmem.c: Linux 2.6.31 compat, kmem cache alignment
+ fixes and cleanup. Always perform allocations for the kmem cache
+ using __get_free_pages() or __vmalloc() to ensure the returned
+ memory is page aligned. Also introduce helper functions which use
+ P2ROUNDUP_TYPE instead of P2ROUNDUP force all types to be explicit.
+
+ * include/sys/mutex.h: Add mutex_enter_nested() as wrapper for
+ mutex_lock_nested() to permit integration with the lock checker.
+
+ * include/sys/mutex.h: Always use the generic mutex_destroy().
+
+ * Makefile.am: Ensure *.order and *.markers build products are
+ removed by distclean rule.
+
+2009-11-02 Brian Behlendorf <behlendorf1@llnl.gov>
+
+ * : Tag spl-0.4.6
+
+ * config/spl-build.m4: Cleanup --enable-debug-* configure options.
+ --enable-debug=<default no> generic debug support.
+ --enable-debug-kmem=<default yes> basic kmem and slab accounting.
+ --enable-debug-kmem-tracking=<default no> detailed kmem tracking.
+ --enable-debug-kstat removed option support always enabled.
+ --enable-debug-callb removed option which never did anything.
+
+ * module/spl/spl-atomic.c: Reimplemented atomic functions by
+ layering them on top of the Linux atomic functions. This improves
+ performance by removing the need for a global spinlock.
+
+ * module/spl/spl-debug.c: Rebase cmn_err on vcmn_err. Handle the
+ case where the message contains a leading ! which means only send
+ it to syslog. And suppress warnings for messages which do not end
+ in a '\n'.
+
+ * module/splat/splat-ctl.c: Update to use kobject_set_name() for
+ increased portability.
+
+ * module/spl/spl-generic.c: Set cwd to '/' for the task during
+ module load for SPL dependent modules. Under Solaris this is
+ the expected behavior, on a Linux system your cwd remains set
+ to whatever the tasks cwd was when loading a module.
+
+ * module/spl/spl-mutex.c: Reimplemented mutexs for improved
+ performance and cleaner integration with the Linux kernels built
+ in lock analyzer. As of 2.6.29 based kernels adaptive mutexs
+ are supported, for these newer kernels task_curr() does not need
+ to be exported. Finally, DEBUG_MUTEX support was dropped in
+ favor of more detailed kernel profiling which is now available.
+
+ * module/spl/spl-rwlock.c: Reimplemented rwlocks for improved
+ performance and cleaner integration with the Linux kernels built
+ in lock analyzer. Additionally, the rwlock regression tests were
+ improved to help validate correctness.
+
+ * spl-modules.spec.in: Various spec file tweaks for the supported
+ distros: RHEL5, RHEL6, SLES10, SLES11, Chaos4, Fedora 11.
+
2009-08-04 Brian Behlendorf <behlendorf1@llnl.gov>
* : Tag spl-0.4.5