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
90b4752aa3
Merge commit 'refs/top-bases/linux-unused' into linux-unused
2009-07-08 15:05:04 -07:00
Brian Behlendorf
c077c7dda7
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2009-07-08 15:03:40 -07:00
Brian Behlendorf
be5ff6fcdd
Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent
2009-07-08 15:02:33 -07:00
Brian Behlendorf
c821af8f89
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
2009-07-08 15:00:48 -07:00
Brian Behlendorf
058a25a017
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-07-08 15:00:43 -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
70804727b1
Merge branch 'linux-have-sysevent' into refs/top-bases/linux-zfs-branch
2009-07-07 10:15:04 -07:00
Brian Behlendorf
5ae3e75ace
Wrap new sysevent includes in HAVE_SYSEVENT ifdef
2009-07-07 10:07:23 -07:00
Brian Behlendorf
6e96712c9a
Merge commit 'refs/top-bases/linux-unused' into linux-unused
2009-07-06 15:09:25 -07:00
Brian Behlendorf
2b582c34cb
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
...
Conflicts:
module/zfs/zfs_ioctl.c
2009-07-06 15:03:54 -07:00
Brian Behlendorf
149c4b2731
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
...
Conflicts:
cmd/ztest/ztest.c
lib/libzfs/libzfs_pool.c
module/zcommon/zfs_namecheck.c
module/zfs/dmu.c
module/zfs/include/sys/dmu.h
module/zfs/include/sys/zfs_fuid.h
module/zfs/spa.c
module/zfs/vdev.c
module/zfs/zap_micro.c
module/zfs/zfs_fuid.c
module/zfs/zfs_ioctl.c
module/zfs/zfs_vfsops.c
module/zfs/zfs_znode.c
2009-07-06 13:40:29 -07:00
Brian Behlendorf
658459249e
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-07-06 13:17:28 -07:00
Brian Behlendorf
cd098f87c8
Merge commit 'refs/top-bases/feature-pthreads' into feature-pthreads
...
Conflicts:
cmd/ztest/ztest.c
2009-07-06 13:16:29 -07:00
Brian Behlendorf
a1ccb00b7e
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
...
Conflicts:
cmd/ztest/ztest.c
module/zfs/zil.c
2009-07-06 13:11:34 -07:00
Brian Behlendorf
9babb37438
Rebase master to b117
2009-07-02 15:44:48 -07:00
Brian Behlendorf
a5e9c5bc65
Merge commit 'refs/top-bases/linux-unused' into linux-unused
2009-07-01 11:11:41 -07:00
Brian Behlendorf
10c43094ed
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2009-07-01 11:10:58 -07:00
Brian Behlendorf
b44445a8f1
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
2009-07-01 11:09:33 -07:00
Brian Behlendorf
ef0a712858
Distro friendly build system / packaging improvements.
...
These changes bring the zfs-0.4.4 tree in to compliance with
the spl-0.4.4 packaging changes. The bottom line is 2 source
rpms and 4 binary rpms will now be generated when creating
packages there will be:
zfs-<version>.src.rpm
- Fully rebuildable source rpm for libzfs and utils.
zfs-modules-<version>.src.rpm
- Fully rebuildable source rpm for kernel modules.
zfs-<version>.<arch>.rpm
- Binary rpm for libzfs and utils. The utils in this package are
compatible with all zfs-module rpms of the same version.
zfs-devel-<version>.<arch>.rpm
- Binary rpm containing headers for building against libzfs libraries.
zfs-modules-<verion>-<kernel>.arch.rpm
- Binary rpm containing the kernel modules for a specific kernel build.
The package name contains the kernel version and you should have one
of these packages installed to match every kernel on your system.
zfs-modules-devel-<verion>-<kernel>.arch.rpm
- Binary rpm containing development header and module symbols needed
for building additional kernel modules which are dependent on the
zfs module stack.
Expect minor interations on these changes as I validate they work
properly on CHAOS, RHEL, Fedora, and SLES style distros.
2009-07-01 10:53:05 -07:00
Brian Behlendorf
df43fa9472
Merge commit 'refs/top-bases/linux-unused' into linux-unused
...
Conflicts:
lib/libzpool/include/sys/zfs_context.h
2009-03-19 21:12:49 -07:00
Brian Behlendorf
f87494c866
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
...
Conflicts:
module/zfs/txg.c
2009-03-19 21:10:40 -07:00
Brian Behlendorf
7f33364d3c
Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch
...
Conflicts:
lib/libzpool/include/sys/zfs_context.h
module/zfs/dmu_tx.c
module/zfs/txg.c
2009-03-19 21:03:58 -07:00
Brian Behlendorf
e7f02d3b41
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-03-19 20:59:33 -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
2ddd5986e0
Merge commit 'refs/top-bases/linux-unused' into linux-unused
...
Conflicts:
lib/libzpool/include/sys/zfs_context.h
2009-03-19 19:58:12 -07:00
Brian Behlendorf
0c74c762fb
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2009-03-19 19:56:42 -07:00
Brian Behlendorf
5e5d31f105
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
...
Conflicts:
lib/libzpool/include/sys/zfs_context.h
2009-03-19 19:52:21 -07:00
Brian Behlendorf
8c43ad3853
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-03-19 19:49:56 -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
39e4615e42
Merge commit 'refs/top-bases/linux-unused' into linux-unused
2009-03-12 15:15:16 -07:00
Brian Behlendorf
de666d0506
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2009-03-12 15:14:21 -07:00
Brian Behlendorf
35b117277d
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
2009-03-12 15:12:26 -07:00
Brian Behlendorf
f2e7d57653
Packaging update
...
Make LINUX_VERSION available to Makefile's, add packaging
for user space include headers.
2009-03-12 15:07:29 -07:00
Brian Behlendorf
9eba109484
Merge commit 'refs/top-bases/linux-unused' into linux-unused
2009-03-10 21:30:35 -07:00
Brian Behlendorf
88f71167ae
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2009-03-10 21:28:14 -07:00
Brian Behlendorf
36860ec1a8
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
...
Conflicts:
module/Makefile.in
2009-03-10 21:23:17 -07:00
Brian Behlendorf
c8e569dd1c
Build system and packaging (RPM support) (Part 2)
...
Complete support for dist install srpm and rpm make targets.
2009-03-10 21:13:30 -07:00
Brian Behlendorf
bf75e042f9
Merge commit 'refs/top-bases/linux-unused' into linux-unused
2009-02-18 14:37:31 -08:00
Brian Behlendorf
ba8fc98d00
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2009-02-18 14:36:04 -08:00
Brian Behlendorf
8090a9a908
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
...
Conflicts:
cmd/zpool/zpool_main.c
2009-02-18 14:31:46 -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
d164b20935
Rebase master to b108
2009-02-18 12:51:31 -08:00
Brian Behlendorf
50735743b7
Err undo that
2008-12-22 16:22:28 -08:00
Brian Behlendorf
bb128e51e6
Use thread so we can add other goodies beyond simply the pthread base
2008-12-22 16:20:36 -08:00
Brian Behlendorf
617556ddde
Merge commit 'refs/top-bases/linux-unused' into linux-unused
2008-12-22 13:52:57 -08:00
Brian Behlendorf
6157e981b3
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2008-12-22 13:52:26 -08:00
Brian Behlendorf
05fafc638f
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
2008-12-22 13:51:21 -08:00
Brian Behlendorf
c9597f9a4f
Merge branch 'fix-pthreads' into refs/top-bases/fix-branch
2008-12-22 13:51:15 -08:00
Brian Behlendorf
6bed331e59
More compat changes
2008-12-22 13:47:58 -08:00
Brian Behlendorf
347283843e
Merge commit 'refs/top-bases/linux-unused' into linux-unused
2008-12-19 10:19:58 -08:00
Brian Behlendorf
9b02e8cb72
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2008-12-19 10:19:27 -08:00
Brian Behlendorf
143bd1614e
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
2008-12-19 10:18:16 -08:00
Brian Behlendorf
a68af79057
Merge branch 'fix-pthreads' into refs/top-bases/fix-branch
2008-12-19 10:18:11 -08:00
Brian Behlendorf
d4c39af7a6
Re-add KM_PUSHPAGE
2008-12-19 10:15:52 -08:00
Brian Behlendorf
330840ff2e
Re-add KM_PUSHPAGE
2008-12-19 10:15:27 -08:00
Brian Behlendorf
3845f85e42
Merge commit 'refs/top-bases/linux-unused' into linux-unused
2008-12-19 09:54:48 -08:00
Brian Behlendorf
530b2e6564
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2008-12-19 09:54:15 -08:00
Brian Behlendorf
24e15d1bb1
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
2008-12-19 09:52:57 -08:00
Brian Behlendorf
3d8832a795
Merge branch 'fix-pthreads' into refs/top-bases/fix-branch
2008-12-19 09:52:51 -08:00
Brian Behlendorf
3bc48c3e74
Missing func readd
2008-12-19 09:50:15 -08:00
Brian Behlendorf
111303eeb8
context
2008-12-19 09:47:09 -08:00
Brian Behlendorf
dbc567603d
Readd removed hunk
2008-12-19 09:39:17 -08:00
Brian Behlendorf
3d19534f7a
Merge commit 'refs/top-bases/linux-unused' into linux-unused
2008-12-18 13:20:09 -08:00
Brian Behlendorf
dddf2efadf
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2008-12-18 13:19:38 -08:00
Brian Behlendorf
da1ceb2bbe
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
2008-12-18 13:18:27 -08:00
Brian Behlendorf
33e499be43
Merge branch 'fix-stack' into refs/top-bases/fix-branch
2008-12-18 13:18:15 -08:00
Brian Behlendorf
8e136cf0c9
Add noinline macro for userspace
2008-12-18 13:15:58 -08:00
Brian Behlendorf
00aa17c6b3
Merge commit 'refs/top-bases/linux-unused' into linux-unused
2008-12-18 10:03:20 -08:00
Brian Behlendorf
7d3b45b517
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2008-12-18 10:02:51 -08:00
Brian Behlendorf
4d86e8fa92
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
2008-12-18 10:01:44 -08:00
Brian Behlendorf
893ed2fad0
Properly cast thread functions for pthreads
2008-12-18 09:56:05 -08:00
Brian Behlendorf
fe5b927a4a
Merge branch 'linux-kernel-mem' into refs/top-bases/linux-zfs-branch
2008-12-18 09:36:22 -08:00
Brian Behlendorf
0a6ac25d10
Add vmem_ interface mapping for user space
2008-12-18 09:34:27 -08:00
Brian Behlendorf
eebeedfaff
Merge commit 'refs/top-bases/linux-unused' into linux-unused
2008-12-17 11:37:52 -08:00
Brian Behlendorf
e0f0e02636
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
2008-12-17 11:36:22 -08:00
Brian Behlendorf
ed9a35324d
Not sure why Sun needed to remove these externs, but I need them back
2008-12-17 11:32:47 -08:00
Brian Behlendorf
bcbf74fead
Remove assert/verify support from zfs_context, moved to assert.h
2008-12-17 09:49:02 -08:00
Brian Behlendorf
d0c573f27e
Add in the reset of the pthread changes
2008-12-12 16:16:06 -08:00
Brian Behlendorf
77755a5771
Add a few missing files
2008-12-11 11:14:49 -08:00