Brian Behlendorf
a58b4008c5
Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw
2009-08-04 14:41:12 -07:00
Brian Behlendorf
2665b9a863
Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy
2009-08-04 14:41:11 -07:00
Brian Behlendorf
ed3e845798
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
2009-08-04 14:40:48 -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
22f4ee3398
Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw
2009-08-03 16:30:21 -07:00
Brian Behlendorf
b8e8d02bf9
Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy
2009-08-03 16:30:20 -07:00
Brian Behlendorf
102ab49042
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
2009-08-03 16:30:03 -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
833c4d1d74
Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw
2009-07-29 21:29:16 -07:00
Brian Behlendorf
db9f4d423b
Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy
2009-07-29 21:29:15 -07:00
Brian Behlendorf
4f6e1daa09
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
2009-07-29 21:28:53 -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
998d11b698
Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw
2009-07-14 14:37:05 -07:00
Brian Behlendorf
438a7e63e9
Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy
2009-07-14 14:37:03 -07:00
Brian Behlendorf
4727a58497
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
2009-07-14 14:36:36 -07:00
Brian Behlendorf
fef9a2c571
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-07-14 14:34:39 -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
605a501311
Merge branch 'feature-pthreads' into refs/top-bases/feature-branch
2009-07-14 14:34:35 -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
91fcf9d661
Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw
2009-07-10 11:51:11 -07:00
Brian Behlendorf
9ffbe8f428
Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy
2009-07-10 11:51:09 -07:00
Brian Behlendorf
8a5b47ebb5
Add dmu_write_impl() prototype needed by zpios until a clean
...
zerocopy interface is available.
2009-07-10 11:39:37 -07:00
Brian Behlendorf
8bb9b8305a
Export new quota related symbols.
2009-07-10 11:38:53 -07:00
Brian Behlendorf
925fa57107
Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw
2009-07-10 10:52:37 -07:00
Brian Behlendorf
df59544928
Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy
2009-07-10 10:52:36 -07:00
Brian Behlendorf
ca2e8a0a7f
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
2009-07-10 10:52:11 -07:00
Brian Behlendorf
4baa59ce44
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-07-10 10:50:13 -07:00
Brian Behlendorf
cfec48619c
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2009-07-10 10:50:12 -07:00
Brian Behlendorf
84b52133f3
Merge branch 'gcc-unused' into refs/top-bases/gcc-branch
2009-07-10 10:50:10 -07:00
Brian Behlendorf
f3c55459b0
Pull ; in to macro to ensure it get's entirely removed, C90 issue.
2009-07-10 10:40:55 -07:00
Brian Behlendorf
bfcab44eb7
Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw
2009-07-09 15:10:14 -07:00
Brian Behlendorf
2ec527b793
Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy
2009-07-09 15:10:12 -07:00
Brian Behlendorf
f8938a398f
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
2009-07-09 15:09:50 -07:00
Brian Behlendorf
24662d61d9
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-07-09 15:08:06 -07:00
Brian Behlendorf
2f4e745a09
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2009-07-09 15:08:04 -07:00
Brian Behlendorf
bed14af385
Merge branch 'gcc-no-parenthesis' into refs/top-bases/gcc-branch
2009-07-09 15:08:03 -07:00
Brian Behlendorf
ae132945b4
Add suggested paranthesis.
2009-07-09 14:59:10 -07:00
Brian Behlendorf
f99ad7f4c3
Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw
2009-07-09 13:19:41 -07:00
Brian Behlendorf
ebb013f2dd
Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy
2009-07-09 13:19:39 -07:00
Brian Behlendorf
db193d4ca9
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
2009-07-09 13:19:15 -07:00
Brian Behlendorf
17d368fa5f
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-07-09 13:17:27 -07:00