Commit Graph

51 Commits

Author SHA1 Message Date
Brian Behlendorf 6c0502f5a6 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2010-03-09 13:24:32 -08:00
Brian Behlendorf 9fa502c50b Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2010-03-09 13:24:29 -08:00
Brian Behlendorf e218fd13e8 Merge commit 'refs/top-bases/feature-branch' into feature-branch 2010-03-09 13:24:28 -08:00
Brian Behlendorf ef359aee66 Merge commit 'refs/top-bases/feature-pthreads' into feature-pthreads 2010-03-09 13:24:27 -08:00
Ricardo M. Correia 2b85024275 Use CPU percentages for number of commit cb threads.
This doesn't change number of threads in the kernel, but it reduces number of
threads in ztest (important due to 32-bit address limitations).
2010-03-09 13:21:20 -08:00
Brian Behlendorf 573328741b Merge branch 'linux-have-fm' into refs/top-bases/linux-zfs-branch 2010-03-09 12:30:21 -08:00
Brian Behlendorf 48e74ed68b Merge branch 'feature-branch' into refs/top-bases/zfs-branch
Conflicts:

	cmd/ztest/ztest.c
2010-03-09 12:30:03 -08:00
Brian Behlendorf 9a3d5378c6 Clean up emulation of kernel threads in userspace.
Updated to use pthread thread specific data rather than keeping
a global list.  This also fixes at least one easily reproducible
crash in ztest
2010-03-09 12:25:28 -08:00
Brian Behlendorf 72fc3eca7e Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-08-04 15:54:25 -07:00
Brian Behlendorf 8c28ed9bff Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-08-04 15:54:19 -07:00
Brian Behlendorf 7069d048a0 Revert kthreads based on pthread thread specific data due to failure.
With this patch applied I get the following failure 100% of the time,
I'd prefer to debug it and keep moving forward but I do not have the
time right now so I'm reverting the patch to the version which worked.
Ricardo please fix.

(gdb) bt
0  ztest_dmu_write_parallel (za=0x2aaaac898960) at
../../cmd/ztest/ztest.c:2566
1  0x0000000000405a79 in ztest_thread (arg=<value optimized out>)
    at ../../cmd/ztest/ztest.c:3862
2  0x00002b2e6a7a841d in zk_thread_helper (arg=<value optimized out>)
    at ../../lib/libzpool/kernel.c:131
3  0x000000379be06367 in start_thread (arg=<value optimized out>)
    at pthread_create.c:297
4  0x000000379b2d30ad in clone () from /lib64/libc.so.6
2009-08-04 15:42:24 -07:00
Brian Behlendorf 139ca4655e Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-08-04 14:39:11 -07:00
Brian Behlendorf 9aedfd95f6 Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-08-04 14:39:06 -07:00
Ricardo M. Correia c0ce3b40f2 Reimplement user kthreads based on pthread thread specific data.
This resolves previous scalabily concerns about the cost of calling
curthread which previously required a list walk.  The kthread address
is now tracked as thread specific data which can be quickly returned.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2009-08-04 13:55:15 -07:00
Brian Behlendorf 8121895a61 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-07-14 14:34:44 -07:00
Brian Behlendorf 9b9f17a585 Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-07-14 14:34:37 -07:00
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 9806b5c02b Merge branch 'linux-have-sysevent' into refs/top-bases/linux-zfs-branch 2009-03-20 13:26:18 -07:00
Brian Behlendorf 9bee47e648 Export additional txg_* symbols. 2009-03-20 13:17:23 -07:00
Brian Behlendorf 275f4aae5d Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
Conflicts:

	module/zfs/dmu_tx.c
2009-03-19 21:08:17 -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 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 29703a5b4e Add 'feature-commit-cb' branch for DMU commit callbacks. 2009-03-19 20:30:14 -07:00
Brian Behlendorf 41cba9f136 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-01-15 16:32:08 -08:00
Brian Behlendorf 37cc2cedde Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-01-15 16:30:38 -08:00
Brian Behlendorf c5b335f613 Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2009-01-15 16:30:28 -08:00
Brian Behlendorf 7d4fe54632 txg_init/txg_fini cv_* initialized pulled in upstream in a slightly different way, drop these now redundant versions 2009-01-15 16:22:23 -08:00
Brian Behlendorf 091a4a4ca4 Resolve conflict with removed cleaner type 2009-01-15 14:20:49 -08:00
Brian Behlendorf 1f372d9030 Resolve conflict with removed cleaner type 2009-01-15 14:18:01 -08:00
Brian Behlendorf 089836c3e4 Resolve conflict with removed cleaner type 2009-01-15 14:14:57 -08:00
Brian Behlendorf da7151a89e Resolve conflict with removed cleaner type 2009-01-15 14:11:19 -08:00
Brian Behlendorf 3fa768e21b Resolve conflict with removed cleaner type 2009-01-15 14:04:35 -08:00
Brian Behlendorf fb5f0bc833 Rebase master to b105 2009-01-15 13:59:39 -08:00
Brian Behlendorf bf57b913fb Revert commit_cb feature 2008-12-18 11:39:02 -08:00
Brian Behlendorf 612f7c20d1 Revert commit_cb feature 2008-12-18 11:37:08 -08:00
Brian Behlendorf 9ae2c70438 Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2008-12-18 11:34:25 -08:00
Brian Behlendorf 63bf9b60d5 Revert changes from this branch so the branch may be removed. We
will integrate the latest patch from Sun here once everything is
is basically working.  This verion of the patch is out of date
anyone and may not be what is needed.
2008-12-18 11:31:32 -08:00
Brian Behlendorf 139baeef7c Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2008-12-18 11:25:20 -08:00
Brian Behlendorf 3eb408d18e Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2008-12-18 11:24:45 -08:00
Brian Behlendorf d431498139 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2008-12-18 11:24:41 -08:00
Brian Behlendorf 50b70a0c9a Resolve time conflict 2008-12-18 11:22:39 -08:00
Brian Behlendorf cf126a8e16 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2008-12-18 10:06:38 -08:00
Brian Behlendorf 075674f079 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2008-12-18 10:06:04 -08:00
Brian Behlendorf 012ce813df Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2008-12-18 10:06:00 -08:00
Brian Behlendorf 432399da0f Add dropping written variable declaration 2008-12-18 10:03:57 -08:00
Brian Behlendorf 5bb8f9ec25 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2008-12-11 11:36:00 -08:00
Brian Behlendorf aca9d98817 Fix conflict 2008-12-11 11:34:16 -08:00
Brian Behlendorf e152d6e601 Merge commit 'refs/top-bases/feature-commit-cb' into feature-commit-cb 2008-12-11 11:27:10 -08:00
Brian Behlendorf f421307e1b Merge commit 'refs/top-bases/fix-locks' into fix-locks 2008-12-11 11:26:25 -08:00
Brian Behlendorf 756a122d37 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2008-12-11 11:25:42 -08:00