summaryrefslogtreecommitdiffstats
path: root/ChangeLog
blob: 434b9e8e9426712ae3faf8501ba8678d717d83df (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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
2009-03-20 Brian Behlendorf <behlendorf1@llnl.gov>

	* : Tag spl-0.4.3

	* configure.ac, *Makefile.am: Build system update.  This includes
	resolving various build issues and adding support for the remaining
	common build targets.  Available targets now include:

	- make all        # Build everything
	- make install    # Install everything
	- make clean      # Clean up build products
	- make distclean  # Clean up everything
	- make dist       # Create package tarball
	- make srpm       # Create package source RPM
	- make rpm        # Create package binary RPMs
	- make tags       # Create ctags and etags for everything

	Extra care was taken to ensure that the source RPMs are fully
	rebuildable against Fedora/RHEL/Chaos kernels.  To build binary
	RPMs from the source RPM for your system simply run:

	rpmbuild --rebuild spl-x.y.z-1.src.rpm

	This will produce two binary RPMs with correct 'requires'
	dependencies for your kernel.  One will contain all zpl modules
	and support utilities, the other is a devel package for compiling
	additional kernel modules which are dependent on the spl.

	spl-x.y.z-1_<kernel version>.x86_64.rpm
	spl-devel-x.y.2-1_<kernel version>.x86_64.rpm

	* : FC10 (linux-2.6.27.19) and i686 compatibility update.  The
	list of support platforms has been extended to include FC10
	systems and x86 architectures.  It should be noted that kernels
	older the 2.6.27.19 should work but have not have not been tested.

	* configure.ac: Fix build issue preventing spl_config.h from being
	cleanly included by dependent packages.

	* module/spl/spl-taskq.c: Fix taskq_wait() not waiting bug.

	* module/spl/spl-xdr.c: Add XDR implementation provided by Ricardo
	Correia from Sun.

	* module/spl/spl-kmem.c: Linux VM integration cleanup.

	* module/spl/spl-kmem.c: Slab cache improvements and fixes.

	* modules/splat/*: Include additional SPLAT regression tests.

	* : Various bug fixes are more clearly detailed in the git
	commit logs.  For a detailed summary of changes post version
	0.4.2 check the git commit logs.

	git log -35

2009-02-05 Brian Behlendorf <behlendorf1@llnl.gov>

	* : 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 <behlendorf1@llnl.gov>

	* : 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 <behlendorf1@llnl.gov>

	* : 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 <behlendorf1@llnl.gov>

	* : Tag spl-0.3.5

	* : Include META file support.

2008-11-05 Jim Garlick <garlick@llnl.gov>

	* : Add autogen.sh products.

	* configure.ac : Use AC_CONFIG_AUX_DIR to put autograph products
	in ./auotconf.

	* autogen.sh : Use --copy to avoid symlinks, remove error
	redirection, run aclocal before libtoolize.

2008-11-13 Brian Behlendorf <behlendorf1@llnl.gov>

	* 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 <behlendorf1@llnl.gov>

	* : Tag spl-0.3.4

	* : Coverity clean.

	* : Patches from Ricardo M. Correia <Ricardo.M.Correia@sun.com> 
	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 <behlendorf1@llnl.gov>

	* : 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 <behlendorf1@llnl.gov>

	* : 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 <behlendorf1@llnl.gov>

	* : 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 <behlendorf1@llnl.gov>

	* configure.ac, autoconf/* : Initial pass at resolving
	API changes introduced by kernels newer than 2.6.18.

2008-05-21 Brian Behlendorf <behlendorf1@llnl.gov>

	* : Tag spl-0.3.1

	* : License headers including URCL added for release.

2008-05-21 Brian Behlendorf <behlendorf1@llnl.gov>

	* : Tag spl-0.3.0

	* configure.ac: Improved autotools support.

2008-04-26 Brian Behlendorf <behlendorf1@llnl.gov>

	* 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 <behlendorf1@llnl.gov>

	* : Tag spl-0.2.1 

	* modules/spl/spl-proc.c : Add /proc/sys/spl/version.

2008-04-24 Herb Wartens <wartens2@llnl.gov>

	* 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 <wartens2@llnl.gov>

	* 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 <behlendorf1@llnl.gov>

	: Initial commit of the solaris porting layer (spl).  Included
	in addition to the source is an initial autoconf / configure
	style build system.