Commit Graph

90 Commits

Author SHA1 Message Date
Brian Behlendorf 864e44e7e0 Provide correct kthread API semantics using pthreads.
The intent here is to fully remove the previous Solaris thread
implementation so we don't need to simulate both Solaris kernel
and user space thread APIs.  The few user space consumers of the
thread API have been updated to use the kthread API.  In order
to support this we needed to more fully support the kthread API
and that means not doing crazy things like casting a thread id
to a pointer and using that as was done before.  This first
implementation is not effecient but it does provide all the
corrent semantics.  If/when performance becomes and issue we
can and should just natively adopt pthreads which is portable.

Let me finish by saying I'm not proud of any of this and I would
love to see it improved.  However, this slow implementation does
at least provide all the correct kthread API semantics whereas
the previous method of casting the thread ID to a pointer was
dodgy at best.
2009-07-14 14:16:26 -07:00
Brian Behlendorf 133f5a2bdd Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-07-08 15:04:23 -07:00
Brian Behlendorf 275d66171b Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-07-08 15:00:41 -07:00
Brian Behlendorf 1ab1b8502b Stop the kthread/thread/pthread mixing and matching insanity. Update all
code to only use the kthread API regardless of if it is compiled in the
kernel or user space.  The kthread API will be layered on top of pthreads
as best as possible in zfs_context, this is non optimal but much clearer.
2009-07-08 14:47:23 -07:00
Brian Behlendorf a676a29d25 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-03-19 21:11:25 -07:00
Brian Behlendorf eb811f7fa9 Merge branch 'feature-branch' into refs/top-bases/zfs-branch
Conflicts:

	module/zfs/include/sys/dmu_tx.h
	module/zfs/include/sys/txg.h
2009-03-19 20:59:12 -07:00
Brian Behlendorf 54b5b41a58 Add 'feature-pthreads' branch to features branch. 2009-03-19 20:49:52 -07:00
Brian Behlendorf 240445807b Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-03-19 19:57:13 -07:00
Brian Behlendorf 8cdcf1ef44 Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2009-03-19 19:49:55 -07:00
Brian Behlendorf 05cec154f5 Merge branch 'fix-pthreads' into refs/top-bases/fix-branch 2009-03-19 19:49:53 -07:00
Brian Behlendorf 53db4c7b29 Revert fix-pthreads moving to feature-pthreads branch 2009-03-19 19:43:09 -07:00
Brian Behlendorf c399ce1af8 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-03-12 15:46:45 -07:00
Brian Behlendorf 6a5acaa105 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-03-12 15:44:13 -07:00
Brian Behlendorf 9fe5b916e2 Merge branch 'gcc-fortify-source' into refs/top-bases/gcc-branch 2009-03-12 15:39:27 -07:00
Brian Behlendorf 9e49df6b20 Add gcc-fortify-source branch 2009-03-12 15:38:51 -07:00
Brian Behlendorf 437bc77985 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-02-18 14:36:49 -08:00
Brian Behlendorf 15f5ddebdf Merge commit 'refs/top-bases/fix-pthreads' into fix-pthreads
Conflicts:

	lib/libzpool/kernel.c
2009-02-18 14:29:08 -08:00
Brian Behlendorf 6fe19bd252 Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch
Conflicts:

	lib/libzpool/kernel.c
	module/zfs/arc.c
2009-02-18 14:28:15 -08:00
Brian Behlendorf f0a8aedfbc Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
Conflicts:

	lib/libzpool/kernel.c
	module/zfs/arc.c
2009-02-18 14:27:12 -08:00
Brian Behlendorf 3eb7fa9afd Merge commit 'refs/top-bases/gcc-shadow' into gcc-shadow 2009-02-18 14:04:08 -08:00
Brian Behlendorf f686a87058 Merge branch 'gcc-c90' into refs/top-bases/gcc-branch
Conflicts:

	module/zfs/arc.c
2009-02-18 13:12:26 -08:00
Brian Behlendorf d164b20935 Rebase master to b108 2009-02-18 12:51:31 -08:00
Brian Behlendorf dc78b79ec8 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2008-12-18 10:03:05 -08:00
Brian Behlendorf 9c0846462b Resolve conflict 2008-12-18 10:01:37 -08:00
Brian Behlendorf 4df7b421a1 Merge branch 'fix-pthreads' into refs/top-bases/fix-branch 2008-12-18 10:00:46 -08:00
Brian Behlendorf 25a3fca866 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2008-12-18 10:00:45 -08:00
Brian Behlendorf 9e195d0cbf Merge branch 'gcc-invalid-prototype' into refs/top-bases/gcc-branch 2008-12-18 10:00:44 -08:00
Brian Behlendorf c8f253cda8 Now fixed in fix-pthreads branch 2008-12-18 09:58:42 -08:00
Brian Behlendorf 229aba2943 Properly cast thread functions for pthreads 2008-12-18 09:56:22 -08:00
Brian Behlendorf 100e5ebb03 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2008-12-17 11:28:37 -08:00
Brian Behlendorf 935fd6c681 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2008-12-17 11:27:20 -08:00
Brian Behlendorf 55c8582174 Merge branch 'gcc-shadow' into refs/top-bases/gcc-branch 2008-12-17 11:27:19 -08:00
Brian Behlendorf dcf0fb9ffb Resolve shadow conflicts 2008-12-17 11:25:21 -08:00
Brian Behlendorf 645c51287f Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2008-12-11 11:37:35 -08:00
Brian Behlendorf f07f82e93a Merge commit 'refs/top-bases/fix-pthreads' into fix-pthreads 2008-12-11 11:26:43 -08:00
Brian Behlendorf 84e65c5c1e Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch 2008-12-11 11:25:50 -08:00
Brian Behlendorf 756a122d37 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2008-12-11 11:25:42 -08:00
Brian Behlendorf 8f8ac4288f Merge commit 'refs/top-bases/gcc-invalid-prototype' into gcc-invalid-prototype 2008-12-11 11:25:09 -08:00
Brian Behlendorf 4f5d567cfd Merge branch 'gcc-c90' into refs/top-bases/gcc-branch 2008-12-11 11:24:45 -08:00
Brian Behlendorf 172bb4bd5e Move the world out of /zfs/ and seperate out module build tree 2008-12-11 11:08:09 -08:00