Commit Graph

636 Commits

Author SHA1 Message Date
Brian Behlendorf f2ab1fea36 Merge branch 'feature-pthreads' into refs/top-bases/feature-branch 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 ca6b87c127 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2010-03-09 12:30:32 -08:00
Brian Behlendorf 8f63d438cd Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2010-03-09 12:30:18 -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 ca6801fcb2 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2010-03-09 10:30:39 -08:00
Brian Behlendorf 3a9850385c Include all headers regardless of depth
The previous hack for this was to move headers 3 levels deep in to
the top level include dir and headers 4 levels deep in to sys.
Obviously this was fairly limiting and missed two important headers.

  ./zfs/include/sys/fm/fs/zfs.h
  ./zfs/include/sys/fs/zfs.h

This patch updates the code to be smarter and installs all the headers
to the correct location regardless of depth.  Each header will have its
leading 3 path args stripped (i.e. ./zfs/include/) and replaced with
the correct install destination.  All path information past the first
three levels will be preserved.
2010-03-09 10:20:34 -08:00
Brian Behlendorf f032bf3f37 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2010-03-08 13:48:09 -08:00
Brian Behlendorf 3d7cfde000 Remove Module.markers and Module.symver{s} in clean target
Split 'modules' and 'clean' Makefile targets to allow us to
cleanly remove the Module.* build products with a 'make clean'.
2010-03-08 13:45:51 -08:00
Brian Behlendorf 06f4dc00ab Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2010-01-08 11:39:44 -08:00
Brian Behlendorf 303d9f010d Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2010-01-08 11:39:31 -08:00
Brian Behlendorf 710e779a08 Merge commit 'refs/top-bases/feature-pthreads' into feature-pthreads 2010-01-08 11:39:30 -08:00
Brian Behlendorf a240c39095 Merge commit 'refs/top-bases/feature-commit-cb' into feature-commit-cb 2010-01-08 11:39:29 -08:00
Brian Behlendorf ee3aa7773b Merge commit 'refs/top-bases/feature-zap-cursor-to-key' into feature-zap-cursor-to-key 2010-01-08 11:39:28 -08:00
Brian Behlendorf eaf2e3231c Merge branch 'feature-zap-cursor-to-key' into refs/top-bases/feature-branch 2010-01-08 11:39:28 -08:00
Brian Behlendorf 6cb71e1dec Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2010-01-08 11:39:14 -08:00
Brian Behlendorf e6f83f6a79 Merge commit 'refs/top-bases/gcc-ident-pragmas' into gcc-ident-pragmas 2010-01-08 11:39:11 -08:00
Brian Behlendorf 69804965e9 Merge commit 'refs/top-bases/gcc-c90' into gcc-c90 2010-01-08 11:39:00 -08:00
Brian Behlendorf e69572c1b5 Merge branch 'gcc-c90' into refs/top-bases/gcc-branch 2010-01-08 11:39:00 -08:00
Brian Behlendorf 4cd8e49a69 Add .gitignore files to exclude build products 2010-01-08 11:35:17 -08:00
Brian Behlendorf cf03fd9f4c Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-12-18 14:31:41 -08:00
Brian Behlendorf 93b5403a64 Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2009-12-18 14:31:22 -08:00
Brian Behlendorf 1a36b0ada1 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-12-18 14:31:22 -08:00
Brian Behlendorf b58747a2e2 Merge branch 'fix-stack' into refs/top-bases/fix-branch 2009-12-18 14:31:21 -08:00
Brian Behlendorf 70ddc1393f No inline to keep dmu_recv_stream() stack frame less than 1024 bytes.
Recent builds against 2.6.31 flagged dmu_recv_stream() as stack heavy.
As a quick simple way to resolve this I'm preventing the inlining of
certain functions which gcc will inline here because this is the only
place they are called.  Futher analysis of this function should be
performed to futher reduce its stack usage.
2009-12-18 14:22:02 -08:00
Brian Behlendorf 202884ef48 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-12-11 12:07:46 -08:00
Brian Behlendorf acd798cfd4 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-12-11 12:07:23 -08:00
Brian Behlendorf f8d093f69b Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-12-11 12:07:23 -08:00
Brian Behlendorf b76d12a644 Merge branch 'gcc-64bit-constants' into refs/top-bases/gcc-branch 2009-12-11 12:07:22 -08:00
Brian Behlendorf ba7ccf8ccd Cast to unsigned long long for 32-bit arches 2009-12-11 11:41:04 -08:00
Brian Behlendorf 6e3ed3f781 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-11-20 10:30:15 -08:00
Brian Behlendorf cac1bc41dc Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-11-20 10:29:49 -08:00
Brian Behlendorf 77c347db31 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-11-20 10:29:48 -08:00
Brian Behlendorf 0f315a58bb Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch 2009-11-20 10:29:47 -08:00
Brian Behlendorf 3191b962f6 Prevent gcc uninit compiler warning in zfs_range_unlock_reader(). 2009-11-20 09:59:58 -08:00
Brian Behlendorf dfcbd0caea Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-11-15 16:27:29 -08:00
Brian Behlendorf d00a0ea8a0 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-11-15 16:27:02 -08:00
Brian Behlendorf 71ccaccb2b Merge commit 'refs/top-bases/feature-pthreads' into feature-pthreads 2009-11-15 16:27:00 -08:00
Brian Behlendorf 475e214ce1 Merge commit 'refs/top-bases/feature-commit-cb' into feature-commit-cb 2009-11-15 16:27:00 -08:00
Brian Behlendorf 65f6d4b712 Merge commit 'refs/top-bases/feature-zap-cursor-to-key' into feature-zap-cursor-to-key 2009-11-15 16:26:58 -08:00
Brian Behlendorf 8c5797df77 Merge branch 'feature-zap-cursor-to-key' into refs/top-bases/feature-branch 2009-11-15 16:26:58 -08:00
Brian Behlendorf b57e406dd6 Merge commit 'refs/top-bases/fix-stack' into fix-stack 2009-11-15 16:26:47 -08:00
Brian Behlendorf e57bf40c98 Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch 2009-11-15 16:26:36 -08:00
Brian Behlendorf 00f3dfb5e9 Merge commit 'refs/top-bases/fix-clock-wrap' into fix-clock-wrap 2009-11-15 16:26:36 -08:00
Brian Behlendorf 59cbe87375 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-11-15 16:26:31 -08:00
Brian Behlendorf 123728d9ae Merge commit 'refs/top-bases/gcc-ident-pragmas' into gcc-ident-pragmas 2009-11-15 16:26:23 -08:00
Brian Behlendorf 4f9acff2d8 Merge commit 'refs/top-bases/gcc-64bit-constants' into gcc-64bit-constants 2009-11-15 16:26:20 -08:00
Brian Behlendorf 217998d1a3 Merge commit 'refs/top-bases/gcc-uninit' into gcc-uninit 2009-11-15 16:26:12 -08:00
Brian Behlendorf d8aef5d7bc Merge branch 'gcc-c90' into refs/top-bases/gcc-branch 2009-11-15 16:25:52 -08:00
Brian Behlendorf 030d49c262 Merge commit 'refs/top-bases/gcc-c90' into gcc-c90 2009-11-15 16:25:50 -08:00
Brian Behlendorf 0aa61e8427 Remove zvol.c when updating in update-zfs.sh Linux version available. 2009-11-15 16:20:01 -08:00
Brian Behlendorf ca2e28b8eb Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-08-18 14:19:37 -07:00
Brian Behlendorf e4b55cfbff Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-18 14:18:36 -07:00
Brian Behlendorf 5d83878f46 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-08-18 14:18:34 -07:00
Brian Behlendorf ef74bed821 Merge branch 'gcc-shadow' into refs/top-bases/gcc-branch 2009-08-18 14:18:32 -07:00
Brian Behlendorf f3ddd9d082 Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch 2009-08-18 14:18:32 -07:00
Brian Behlendorf 8767bb3fdd Merge branch 'gcc-c90' into refs/top-bases/gcc-branch 2009-08-18 14:18:31 -07:00
Brian Behlendorf f9a74de46a Required build 121 updates for gcc-uninit 2009-08-18 14:09:35 -07:00
Brian Behlendorf 08f5b3c23d Required build 121 updates for gcc-shadow 2009-08-18 14:09:15 -07:00
Brian Behlendorf d42b88372f Required build 121 updates for gcc-c90 2009-08-18 14:07:25 -07:00
Brian Behlendorf 715534d082 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-08-18 12:30:20 -07:00
Brian Behlendorf 50c623ccef Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-18 12:10:55 -07:00
Brian Behlendorf 8aab887b7c Merge commit 'refs/top-bases/feature-pthreads' into feature-pthreads 2009-08-18 12:10:47 -07:00
Brian Behlendorf 5a81224e6f Merge commit 'refs/top-bases/feature-commit-cb' into feature-commit-cb 2009-08-18 12:10:43 -07:00
Brian Behlendorf bfbac5daec Merge branch 'feature-zap-cursor-to-key' into refs/top-bases/feature-branch 2009-08-18 12:10:38 -07:00
Brian Behlendorf 4f6bbcd0e7 Merge commit 'refs/top-bases/feature-zap-cursor-to-key' into feature-zap-cursor-to-key 2009-08-18 12:10:36 -07:00
Brian Behlendorf f8cca2b295 Merge commit 'refs/top-bases/fix-stack' into fix-stack 2009-08-18 12:09:57 -07:00
Brian Behlendorf d205b25a74 Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch 2009-08-18 12:09:10 -07:00
Brian Behlendorf 25ddaec292 Merge commit 'refs/top-bases/fix-clock-wrap' into fix-clock-wrap 2009-08-18 12:09:07 -07:00
Brian Behlendorf b99b422796 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-08-18 12:08:58 -07:00
Brian Behlendorf abd8fdb94f Merge commit 'refs/top-bases/gcc-ident-pragmas' into gcc-ident-pragmas
Conflicts:

	module/zfs/dsl_deleg.c
	module/zfs/rrwlock.c
2009-08-18 12:08:36 -07:00
Brian Behlendorf 9d2ca4a4d4 Merge commit 'refs/top-bases/gcc-64bit-constants' into gcc-64bit-constants 2009-08-18 12:07:40 -07:00
Brian Behlendorf db89339134 Merge commit 'refs/top-bases/gcc-shadow' into gcc-shadow
Conflicts:

	module/zfs/dmu.c
2009-08-18 12:07:23 -07:00
Brian Behlendorf c5b5d32d69 Merge commit 'refs/top-bases/gcc-uninit' into gcc-uninit
Conflicts:

	module/zfs/vdev_raidz.c
2009-08-18 12:06:21 -07:00
Brian Behlendorf e5e4fadc34 Merge branch 'gcc-c90' into refs/top-bases/gcc-branch
Conflicts:

	module/zfs/dmu.c
	module/zfs/dsl_deleg.c
	module/zfs/rrwlock.c
	module/zfs/vdev_raidz.c
2009-08-18 12:04:53 -07:00
Brian Behlendorf 0f80e41c89 Merge commit 'refs/top-bases/gcc-c90' into gcc-c90
Conflicts:

	module/zfs/spa_misc.c
	module/zfs/vdev_label.c
2009-08-18 11:55:36 -07:00
Brian Behlendorf 45d1cae3b8 Rebase master to b121 2009-08-18 11:43:27 -07:00
Brian Behlendorf c3c87bf545 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-08-04 15:55:34 -07:00
Brian Behlendorf f88cbd6535 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-04 15:54:21 -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 adcc63f658 Merge branch 'feature-pthreads' into refs/top-bases/feature-branch 2009-08-04 15:54:17 -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 aa980b56d3 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-08-04 14:40:21 -07:00
Brian Behlendorf 3e5388907b Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-04 14:39:07 -07:00
Brian Behlendorf 9aedfd95f6 Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-08-04 14:39:06 -07:00
Brian Behlendorf 0741d789d2 Merge branch 'feature-pthreads' into refs/top-bases/feature-branch 2009-08-04 14:39:04 -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 19ab040309 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-08-03 16:29:46 -07:00
Brian Behlendorf 48cbfae8bd Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-03 16:28:49 -07:00
Brian Behlendorf f2f52087f3 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-08-03 16:28:48 -07:00
Brian Behlendorf 6cb98ae6b9 Merge branch 'gcc-unused' into refs/top-bases/gcc-branch 2009-08-03 16:28:46 -07:00
Brian Behlendorf 68a80a8b87 refcount_add() mistakenly moved to ASSERT() breaks --disable-debug builds. 2009-08-03 16:20:27 -07:00
Brian Behlendorf d844ecb1cf Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-07-29 21:28:31 -07:00
Brian Behlendorf 2d86fb2788 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-29 21:27:13 -07:00
Brian Behlendorf 3185bb677e Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2009-07-29 21:27:12 -07:00
Brian Behlendorf 653cd5153a Merge branch 'fix-stack' into refs/top-bases/fix-branch 2009-07-29 21:27:10 -07:00
Brian Behlendorf ee435f260c Excessively large stack frames detected.
The 2.6.30 kernel build systems sets -Wframe-larger-than=2048 which causes
a warning to be generated when an individual stack frame exceeds 2048.
This caught the spa_history_log() and dmu_objset_snapshot() functions
which declared a data structure on the stack which contained a char
array of MAXPATHLEN.  This in defined to be 4096 in the linux kernel
and I imagine it is quite large under Solaris as well.  Regardless, the
offending data structures were moved to the heap to correctly keep the
stack depth to a minimum.  We might consider setting this value even
lower to catch additional offenders because we are expecting deep stacks.
2009-07-29 21:18:48 -07:00
Brian Behlendorf bdb57d428a Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-07-14 14:36:11 -07:00
Brian Behlendorf fef9a2c571 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-14 14:34:39 -07:00