]> granicus.if.org Git - zfs/log
zfs
14 years agoMerge branch 'gcc-branch' into refs/top-bases/zfs-branch
Brian Behlendorf [Tue, 29 Jun 2010 21:40:49 +0000 (14:40 -0700)]
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch

14 years agoMerge commit 'refs/top-bases/gcc-branch' into gcc-branch
Brian Behlendorf [Tue, 29 Jun 2010 21:40:48 +0000 (14:40 -0700)]
Merge commit 'refs/top-bases/gcc-branch' into gcc-branch

14 years agoMerge branch 'gcc-fortify-source' into refs/top-bases/gcc-branch
Brian Behlendorf [Tue, 29 Jun 2010 21:40:48 +0000 (14:40 -0700)]
Merge branch 'gcc-fortify-source' into refs/top-bases/gcc-branch

14 years agoMerge commit 'refs/top-bases/gcc-fortify-source' into gcc-fortify-source
Brian Behlendorf [Tue, 29 Jun 2010 21:40:47 +0000 (14:40 -0700)]
Merge commit 'refs/top-bases/gcc-fortify-source' into gcc-fortify-source

14 years agoMerge branch 'gcc-missing-braces' into refs/top-bases/gcc-branch
Brian Behlendorf [Tue, 29 Jun 2010 21:40:45 +0000 (14:40 -0700)]
Merge branch 'gcc-missing-braces' into refs/top-bases/gcc-branch

14 years agoMerge commit 'refs/top-bases/gcc-missing-braces' into gcc-missing-braces
Brian Behlendorf [Tue, 29 Jun 2010 21:40:44 +0000 (14:40 -0700)]
Merge commit 'refs/top-bases/gcc-missing-braces' into gcc-missing-braces

14 years agoMerge branch 'gcc-ident-pragmas' into refs/top-bases/gcc-branch
Brian Behlendorf [Tue, 29 Jun 2010 21:40:43 +0000 (14:40 -0700)]
Merge branch 'gcc-ident-pragmas' into refs/top-bases/gcc-branch

14 years agoMerge commit 'refs/top-bases/gcc-ident-pragmas' into gcc-ident-pragmas
Brian Behlendorf [Tue, 29 Jun 2010 21:40:42 +0000 (14:40 -0700)]
Merge commit 'refs/top-bases/gcc-ident-pragmas' into gcc-ident-pragmas

14 years agoMerge branch 'gcc-64bit-constants' into refs/top-bases/gcc-branch
Brian Behlendorf [Tue, 29 Jun 2010 21:40:40 +0000 (14:40 -0700)]
Merge branch 'gcc-64bit-constants' into refs/top-bases/gcc-branch

14 years agoMerge commit 'refs/top-bases/gcc-64bit-constants' into gcc-64bit-constants
Brian Behlendorf [Tue, 29 Jun 2010 21:40:39 +0000 (14:40 -0700)]
Merge commit 'refs/top-bases/gcc-64bit-constants' into gcc-64bit-constants

14 years agoMerge branch 'gcc-unused' into refs/top-bases/gcc-branch
Brian Behlendorf [Tue, 29 Jun 2010 21:40:38 +0000 (14:40 -0700)]
Merge branch 'gcc-unused' into refs/top-bases/gcc-branch

14 years agoMerge commit 'refs/top-bases/gcc-unused' into gcc-unused
Brian Behlendorf [Tue, 29 Jun 2010 21:40:36 +0000 (14:40 -0700)]
Merge commit 'refs/top-bases/gcc-unused' into gcc-unused

14 years agoMerge branch 'gcc-uninit' into refs/top-bases/gcc-branch
Brian Behlendorf [Tue, 29 Jun 2010 21:40:35 +0000 (14:40 -0700)]
Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch

14 years agoMerge commit 'refs/top-bases/gcc-uninit' into gcc-uninit
Brian Behlendorf [Tue, 29 Jun 2010 21:40:34 +0000 (14:40 -0700)]
Merge commit 'refs/top-bases/gcc-uninit' into gcc-uninit

14 years agoMerge branch 'gcc-no-parenthesis' into refs/top-bases/gcc-branch
Brian Behlendorf [Tue, 29 Jun 2010 21:40:32 +0000 (14:40 -0700)]
Merge branch 'gcc-no-parenthesis' into refs/top-bases/gcc-branch

14 years agoMerge commit 'refs/top-bases/gcc-no-parenthesis' into gcc-no-parenthesis
Brian Behlendorf [Tue, 29 Jun 2010 21:40:31 +0000 (14:40 -0700)]
Merge commit 'refs/top-bases/gcc-no-parenthesis' into gcc-no-parenthesis

14 years agoMerge branch 'gcc-missing-case' into refs/top-bases/gcc-branch
Brian Behlendorf [Tue, 29 Jun 2010 21:40:28 +0000 (14:40 -0700)]
Merge branch 'gcc-missing-case' into refs/top-bases/gcc-branch

14 years agoMerge commit 'refs/top-bases/gcc-missing-case' into gcc-missing-case
Brian Behlendorf [Tue, 29 Jun 2010 21:40:27 +0000 (14:40 -0700)]
Merge commit 'refs/top-bases/gcc-missing-case' into gcc-missing-case

14 years agoMerge branch 'gcc-invalid-prototype' into refs/top-bases/gcc-branch
Brian Behlendorf [Tue, 29 Jun 2010 21:40:26 +0000 (14:40 -0700)]
Merge branch 'gcc-invalid-prototype' into refs/top-bases/gcc-branch

14 years agoMerge commit 'refs/top-bases/gcc-invalid-prototype' into gcc-invalid-prototype
Brian Behlendorf [Tue, 29 Jun 2010 21:40:25 +0000 (14:40 -0700)]
Merge commit 'refs/top-bases/gcc-invalid-prototype' into gcc-invalid-prototype

14 years agoMerge branch 'gcc-init-pragmas' into refs/top-bases/gcc-branch
Brian Behlendorf [Tue, 29 Jun 2010 21:40:23 +0000 (14:40 -0700)]
Merge branch 'gcc-init-pragmas' into refs/top-bases/gcc-branch

14 years agoMerge commit 'refs/top-bases/gcc-init-pragmas' into gcc-init-pragmas
Brian Behlendorf [Tue, 29 Jun 2010 21:40:22 +0000 (14:40 -0700)]
Merge commit 'refs/top-bases/gcc-init-pragmas' into gcc-init-pragmas

14 years agoMerge branch 'gcc-debug' into refs/top-bases/gcc-branch
Brian Behlendorf [Tue, 29 Jun 2010 21:40:20 +0000 (14:40 -0700)]
Merge branch 'gcc-debug' into refs/top-bases/gcc-branch

14 years agoMerge commit 'refs/top-bases/gcc-debug' into gcc-debug
Brian Behlendorf [Tue, 29 Jun 2010 21:40:19 +0000 (14:40 -0700)]
Merge commit 'refs/top-bases/gcc-debug' into gcc-debug

14 years agoMerge branch 'gcc-cast' into refs/top-bases/gcc-branch
Brian Behlendorf [Tue, 29 Jun 2010 21:40:17 +0000 (14:40 -0700)]
Merge branch 'gcc-cast' into refs/top-bases/gcc-branch

14 years agoMerge commit 'refs/top-bases/gcc-cast' into gcc-cast
Brian Behlendorf [Tue, 29 Jun 2010 21:40:16 +0000 (14:40 -0700)]
Merge commit 'refs/top-bases/gcc-cast' into gcc-cast

14 years agoMerge branch 'gcc-c90' into refs/top-bases/gcc-branch
Brian Behlendorf [Tue, 29 Jun 2010 21:40:15 +0000 (14:40 -0700)]
Merge branch 'gcc-c90' into refs/top-bases/gcc-branch

14 years agoMerge commit 'refs/top-bases/gcc-c90' into gcc-c90
Brian Behlendorf [Tue, 29 Jun 2010 21:40:14 +0000 (14:40 -0700)]
Merge commit 'refs/top-bases/gcc-c90' into gcc-c90

14 years agoAdd basic README
Brian Behlendorf [Tue, 29 Jun 2010 21:35:21 +0000 (14:35 -0700)]
Add basic README

A simple README with a short summary of the project and a link
directing people to the online documentation.

14 years agoMerge branch 'fix-branch' into refs/top-bases/zfs-branch
Brian Behlendorf [Tue, 29 Jun 2010 18:34:31 +0000 (11:34 -0700)]
Merge branch 'fix-branch' into refs/top-bases/zfs-branch

Conflicts:

cmd/ztest/ztest.c

14 years agoMerge commit 'refs/top-bases/fix-branch' into fix-branch
Brian Behlendorf [Tue, 29 Jun 2010 18:28:37 +0000 (11:28 -0700)]
Merge commit 'refs/top-bases/fix-branch' into fix-branch

14 years agoMerge branch 'fix-stack-ztest' into refs/top-bases/fix-branch
Brian Behlendorf [Tue, 29 Jun 2010 18:28:36 +0000 (11:28 -0700)]
Merge branch 'fix-stack-ztest' into refs/top-bases/fix-branch

14 years agoUpdate dependency fix-pthreads changes to fix-stack-ztest
Brian Behlendorf [Tue, 29 Jun 2010 18:27:33 +0000 (11:27 -0700)]
Update dependency fix-pthreads changes to fix-stack-ztest

This was done becaese fix-stack-ztest was added to the stack
in series after fix-pthreads because fix-stack-ztest depends
on many of the pthreads changes.

14 years agoReduce stack used by ztest
Brian Behlendorf [Tue, 29 Jun 2010 18:25:08 +0000 (11:25 -0700)]
Reduce stack used by ztest

While ztest does run in user space we run it with the same stack
restrictions it would have in kernel space.  This ensures that any
stack related issues which would be hit in the kernel can be caught
and debugged in user space instead.

This patch is a first pass to limit the stack usage of every ztest
function to 1024 bytes.  Subsequent updates can further reduce this

14 years agoMerge branch 'fix-branch' into refs/top-bases/zfs-branch
Brian Behlendorf [Tue, 29 Jun 2010 18:11:59 +0000 (11:11 -0700)]
Merge branch 'fix-branch' into refs/top-bases/zfs-branch

14 years agoMerge branch 'fix-stack-traverse_visitbp' into refs/top-bases/fix-branch
Brian Behlendorf [Tue, 29 Jun 2010 18:04:51 +0000 (11:04 -0700)]
Merge branch 'fix-stack-traverse_visitbp' into refs/top-bases/fix-branch

14 years agoMerge commit 'refs/top-bases/fix-branch' into fix-branch
Brian Behlendorf [Tue, 29 Jun 2010 18:04:51 +0000 (11:04 -0700)]
Merge commit 'refs/top-bases/fix-branch' into fix-branch

14 years agoNew TopGit dependency: fix-stack-traverse_visitbp
Brian Behlendorf [Tue, 29 Jun 2010 18:04:48 +0000 (11:04 -0700)]
New TopGit dependency: fix-stack-traverse_visitbp

14 years agoReduce stack usage for recursive traverse_visitbp()
Brian Behlendorf [Tue, 29 Jun 2010 18:04:26 +0000 (11:04 -0700)]
Reduce stack usage for recursive traverse_visitbp()

Due to  limited stack space recursive functions are frowned upon in
the Linux kernel.  However, they often are the most elegant solution
to a problem.  The following code preserves the recursive function
traverse_visitbp() but moves the local variables AND function
arguments to the heap to minimize the stack frame size.  Enough
space is initially allocated on the stack for 20 levels of recursion.
This change does ugly-up-the-code but it reduces the worst case
usage from roughly 4160 bytes to 960 bytes on x86_64 archs.

14 years agoMerge branch 'fix-branch' into refs/top-bases/zfs-branch
Brian Behlendorf [Tue, 29 Jun 2010 17:55:38 +0000 (10:55 -0700)]
Merge branch 'fix-branch' into refs/top-bases/zfs-branch

Conflicts:

cmd/ztest/ztest.c

14 years agoMerge branch 'gcc-branch' into refs/top-bases/zfs-branch
Brian Behlendorf [Tue, 29 Jun 2010 17:29:42 +0000 (10:29 -0700)]
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch

14 years agoMerge commit 'refs/top-bases/gcc-branch' into gcc-branch
Brian Behlendorf [Tue, 29 Jun 2010 17:25:31 +0000 (10:25 -0700)]
Merge commit 'refs/top-bases/gcc-branch' into gcc-branch

14 years agoMerge branch 'gcc-uninit' into refs/top-bases/gcc-branch
Brian Behlendorf [Tue, 29 Jun 2010 17:25:31 +0000 (10:25 -0700)]
Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch

14 years agoRevert traverse_impl() changes
Brian Behlendorf [Tue, 29 Jun 2010 17:24:14 +0000 (10:24 -0700)]
Revert traverse_impl() changes

These changes are now taken care of by the fix-stack-traverse_impl
topic branch which not only solves the uninit problem but also
moves these locals off the stack and on to the heap.

14 years agoMerge branch 'fix-stack-traverse_impl' into refs/top-bases/fix-branch
Brian Behlendorf [Tue, 29 Jun 2010 17:21:53 +0000 (10:21 -0700)]
Merge branch 'fix-stack-traverse_impl' into refs/top-bases/fix-branch

14 years agoMerge commit 'refs/top-bases/fix-branch' into fix-branch
Brian Behlendorf [Tue, 29 Jun 2010 17:21:53 +0000 (10:21 -0700)]
Merge commit 'refs/top-bases/fix-branch' into fix-branch

14 years agoNew TopGit dependency: fix-stack-traverse_impl
Brian Behlendorf [Tue, 29 Jun 2010 17:21:50 +0000 (10:21 -0700)]
New TopGit dependency: fix-stack-traverse_impl

14 years agoReduce stack usage of traverse_impl()
Brian Behlendorf [Tue, 29 Jun 2010 17:21:21 +0000 (10:21 -0700)]
Reduce stack usage of traverse_impl()

Stack use reduced from 560 bytes to 128 bytes.

14 years agoMerge branch 'fix-stack-vn_open' into refs/top-bases/fix-branch
Brian Behlendorf [Tue, 29 Jun 2010 17:15:05 +0000 (10:15 -0700)]
Merge branch 'fix-stack-vn_open' into refs/top-bases/fix-branch

14 years agoMerge commit 'refs/top-bases/fix-branch' into fix-branch
Brian Behlendorf [Tue, 29 Jun 2010 17:15:05 +0000 (10:15 -0700)]
Merge commit 'refs/top-bases/fix-branch' into fix-branch

14 years agoNew TopGit dependency: fix-stack-vn_open
Brian Behlendorf [Tue, 29 Jun 2010 17:15:02 +0000 (10:15 -0700)]
New TopGit dependency: fix-stack-vn_open

14 years agoReduce stack usage by vn_open()
Brian Behlendorf [Tue, 29 Jun 2010 17:14:37 +0000 (10:14 -0700)]
Reduce stack usage by vn_open()

We should not put a 4k maxpathlen buffer on the stack, instead
locate it to the heap.  Even in user space we run ztest with 8K

14 years agoMerge commit 'refs/top-bases/fix-branch' into fix-branch
Brian Behlendorf [Tue, 29 Jun 2010 17:12:04 +0000 (10:12 -0700)]
Merge commit 'refs/top-bases/fix-branch' into fix-branch

14 years agoMerge branch 'fix-stack-dsl_dataset_destroy' into refs/top-bases/fix-branch
Brian Behlendorf [Tue, 29 Jun 2010 17:12:03 +0000 (10:12 -0700)]
Merge branch 'fix-stack-dsl_dataset_destroy' into refs/top-bases/fix-branch

14 years agoMerge branch 'fix-pthreads' into refs/top-bases/fix-branch
Brian Behlendorf [Tue, 29 Jun 2010 17:12:03 +0000 (10:12 -0700)]
Merge branch 'fix-pthreads' into refs/top-bases/fix-branch

14 years agoNew TopGit dependency: fix-stack-dsl_dataset_destroy
Brian Behlendorf [Tue, 29 Jun 2010 17:12:00 +0000 (10:12 -0700)]
New TopGit dependency: fix-stack-dsl_dataset_destroy

14 years agoReduce stack usage by dsl_dataset_destroy()
Brian Behlendorf [Tue, 29 Jun 2010 17:11:32 +0000 (10:11 -0700)]
Reduce stack usage by dsl_dataset_destroy()

Move dsl_dataset_t local variable from the stack to the heap.
This reduces the stack usage of this function from 2048 bytes
to 176 bytes for x84_64 arches.

14 years agoAdditional pthread related fixes for ztest
Brian Behlendorf [Tue, 29 Jun 2010 06:45:08 +0000 (23:45 -0700)]
Additional pthread related fixes for ztest

There are 3 fixes in thie commit.  First, update ztest_run() to store
the thread id and not the address of the kthread_t.  This will be freed
on thread exit and is not safe to use.  This is pretty close to how
things were done in the original ztest code before I got there.

Second, for extra paranoia update thread_exit() to return a special
TS_MAGIC value via pthread_exit().  This value is then verified in
pthread_join() to ensure the thread exited cleanly.  This can be
done cleanly because the kthread doesn't provide a return code
mechanism we need to worry about.

Third, replace the ztest deadman thread with a signal handler.  We
cannot use the previous approach because the correct behavior for
pthreads is to wait for all threads to exit before terminating the
process.  Since the deadman thread won't call exit by design we
end up hanging in kernel_exit().  To avoid this we just setup a
SIGALRM signal handle and register a deadman alarm.  IMHO this
is simpler and cleaner anyway.

14 years agoMerge branch 'gcc-branch' into refs/top-bases/zfs-branch
Brian Behlendorf [Mon, 28 Jun 2010 18:30:35 +0000 (11:30 -0700)]
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch

14 years agoMerge commit 'refs/top-bases/gcc-branch' into gcc-branch
Brian Behlendorf [Mon, 28 Jun 2010 18:30:34 +0000 (11:30 -0700)]
Merge commit 'refs/top-bases/gcc-branch' into gcc-branch

14 years agoMerge branch 'gcc-missing-braces' into refs/top-bases/gcc-branch
Brian Behlendorf [Mon, 28 Jun 2010 18:30:34 +0000 (11:30 -0700)]
Merge branch 'gcc-missing-braces' into refs/top-bases/gcc-branch

14 years agoZero struct for zdb dump_block_stats
Brian Behlendorf [Tue, 22 Jun 2010 04:22:46 +0000 (21:22 -0700)]
Zero struct for zdb dump_block_stats

Accidentally dropped the zeroing of this structure in the
gcc-missing-braces topic branch which was causing a fall positive
space leak in ztest.  Ensure the structure is zero'ed before use.

14 years agoMerge branch 'fix-branch' into refs/top-bases/zfs-branch
Brian Behlendorf [Mon, 28 Jun 2010 17:36:19 +0000 (10:36 -0700)]
Merge branch 'fix-branch' into refs/top-bases/zfs-branch

14 years agoMerge commit 'refs/top-bases/fix-branch' into fix-branch
Brian Behlendorf [Mon, 28 Jun 2010 17:36:18 +0000 (10:36 -0700)]
Merge commit 'refs/top-bases/fix-branch' into fix-branch

14 years agoMerge branch 'fix-stack-dmu_objset_snapshot' into refs/top-bases/fix-branch
Brian Behlendorf [Mon, 28 Jun 2010 17:36:17 +0000 (10:36 -0700)]
Merge branch 'fix-stack-dmu_objset_snapshot' into refs/top-bases/fix-branch

14 years agoMerge branch 'fix-pthreads' into refs/top-bases/fix-branch
Brian Behlendorf [Mon, 28 Jun 2010 17:36:17 +0000 (10:36 -0700)]
Merge branch 'fix-pthreads' into refs/top-bases/fix-branch

14 years agoMerge branch 'fix-taskq' into refs/top-bases/fix-branch
Brian Behlendorf [Mon, 28 Jun 2010 17:36:16 +0000 (10:36 -0700)]
Merge branch 'fix-taskq' into refs/top-bases/fix-branch

14 years agoMerge branch 'gcc-branch' into refs/top-bases/zfs-branch
Brian Behlendorf [Mon, 28 Jun 2010 17:36:13 +0000 (10:36 -0700)]
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch

14 years agoMerge commit 'refs/top-bases/gcc-branch' into gcc-branch
Brian Behlendorf [Mon, 28 Jun 2010 17:36:12 +0000 (10:36 -0700)]
Merge commit 'refs/top-bases/gcc-branch' into gcc-branch

14 years agoMerge branch 'gcc-uninit' into refs/top-bases/gcc-branch
Brian Behlendorf [Mon, 28 Jun 2010 17:36:11 +0000 (10:36 -0700)]
Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch

14 years agoEnsure zio_bad_cksum_t is initialized
Brian Behlendorf [Tue, 22 Jun 2010 04:31:41 +0000 (21:31 -0700)]
Ensure zio_bad_cksum_t is initialized

This may not strictly be needed but it does keep gcc happy.  We
should keep our eye on this though if the extra bcopy significantly
impacts performance.  It may.

14 years agoAllow joinable threads
Brian Behlendorf [Sun, 27 Jun 2010 22:06:49 +0000 (15:06 -0700)]
Allow joinable threads

There was previous discussion of a race with joinable threads but to
be honest I can neither exactly remember the race, or recrease the
issue.  I believe it may have had to do with pthread_create() returning
without having set kt->tid since this was done in the created thread.
If that was the race then I've 'fixed' it by ensuring the thread id
is set in the thread AND as the first pthread_create() argument.  Why
this wasn't done originally I'm not sure, with luck Ricardo remembers.

Additionally, explicitly set a PAGESIZE guard frame at the end of the
stack to aid in detecting stack overflow.  And add some conditional
logic to set STACK_SIZE correctly for Solaris.

14 years agoNever sleep under taskq_dispatch()
Brian Behlendorf [Mon, 28 Jun 2010 17:11:12 +0000 (10:11 -0700)]
Never sleep under taskq_dispatch()

There are cases where under Linux it is not safe to sleep in
taskq_dispatch().  Rather than adding Linux specific code to
detect these cases I opted to keep it simple and just never
allow a sleep here.  The impact of this should be minimal.

14 years agoFix for fix-stack-dmu_objset_snapshot should be 'sn' not '&sn'
Brian Behlendorf [Mon, 28 Jun 2010 17:00:12 +0000 (10:00 -0700)]
Fix for fix-stack-dmu_objset_snapshot should be 'sn' not '&sn'

I missed a instanse of removing the & operator when reducing the
stack usage in this function.  This unfortunately doesn't cause
a compile warning but it is does cause ztest failures.  Anyway,
update the topic branch to correct this mistake.

14 years agoMerge branch 'fix-branch' into refs/top-bases/zfs-branch
Brian Behlendorf [Wed, 16 Jun 2010 21:43:17 +0000 (14:43 -0700)]
Merge branch 'fix-branch' into refs/top-bases/zfs-branch

14 years agoMerge commit 'refs/top-bases/fix-branch' into fix-branch
Brian Behlendorf [Wed, 16 Jun 2010 21:39:41 +0000 (14:39 -0700)]
Merge commit 'refs/top-bases/fix-branch' into fix-branch

14 years agoMerge branch 'fix-stack-dmu_objset_snapshot' into refs/top-bases/fix-branch
Brian Behlendorf [Wed, 16 Jun 2010 21:39:41 +0000 (14:39 -0700)]
Merge branch 'fix-stack-dmu_objset_snapshot' into refs/top-bases/fix-branch

14 years agoNew TopGit dependency: fix-stack-dmu_objset_snapshot
Brian Behlendorf [Wed, 16 Jun 2010 21:39:39 +0000 (14:39 -0700)]
New TopGit dependency: fix-stack-dmu_objset_snapshot

14 years agoAdd fix-stack-dmu_objset_snapshot topic branch
Brian Behlendorf [Wed, 16 Jun 2010 21:39:06 +0000 (14:39 -0700)]
Add fix-stack-dmu_objset_snapshot topic branch

Reduce stack usage by 276 bytes by moving the snaparg struct from the
stack to the heap.  We have limited stack space we must not waste.

14 years agoMerge branch 'fix-stack-noinline' into refs/top-bases/fix-branch
Brian Behlendorf [Wed, 16 Jun 2010 21:35:14 +0000 (14:35 -0700)]
Merge branch 'fix-stack-noinline' into refs/top-bases/fix-branch

14 years agoMerge commit 'refs/top-bases/fix-branch' into fix-branch
Brian Behlendorf [Wed, 16 Jun 2010 21:35:14 +0000 (14:35 -0700)]
Merge commit 'refs/top-bases/fix-branch' into fix-branch

14 years agoNew TopGit dependency: fix-stack-noinline
Brian Behlendorf [Wed, 16 Jun 2010 21:35:11 +0000 (14:35 -0700)]
New TopGit dependency: fix-stack-noinline

14 years agoAdd fix-stack-noinline topic branch
Brian Behlendorf [Wed, 16 Jun 2010 21:34:41 +0000 (14:34 -0700)]
Add fix-stack-noinline topic branch

Certain function must never be automatically inlined by gcc because
they are stack heavy or called recursively.  This patch flags all
such functions I have found as 'noinline' to prevent gcc from making
the optimization.

14 years agoRemove fix-stack dependency from fix-branch
Brian Behlendorf [Wed, 16 Jun 2010 21:30:40 +0000 (14:30 -0700)]
Remove fix-stack dependency from fix-branch

14 years agoMerge branch 'fix-branch' into refs/top-bases/zfs-branch
Brian Behlendorf [Wed, 16 Jun 2010 21:27:30 +0000 (14:27 -0700)]
Merge branch 'fix-branch' into refs/top-bases/zfs-branch

14 years agoMerge branch 'fix-stack' into refs/top-bases/fix-branch
Brian Behlendorf [Wed, 16 Jun 2010 21:27:29 +0000 (14:27 -0700)]
Merge branch 'fix-stack' into refs/top-bases/fix-branch

14 years agoMerge commit 'refs/top-bases/fix-branch' into fix-branch
Brian Behlendorf [Wed, 16 Jun 2010 21:27:29 +0000 (14:27 -0700)]
Merge commit 'refs/top-bases/fix-branch' into fix-branch

14 years agoRevert fix-stack topic branch
Brian Behlendorf [Wed, 16 Jun 2010 21:23:31 +0000 (14:23 -0700)]
Revert fix-stack topic branch

This patch will be broken in to several independent stack reductions
and reapplied as new topic branches.

14 years agoMerge branch 'fix-branch' into refs/top-bases/zfs-branch
Brian Behlendorf [Wed, 16 Jun 2010 20:53:07 +0000 (13:53 -0700)]
Merge branch 'fix-branch' into refs/top-bases/zfs-branch

14 years agoMerge commit 'refs/top-bases/fix-branch' into fix-branch
Brian Behlendorf [Wed, 16 Jun 2010 20:49:56 +0000 (13:49 -0700)]
Merge commit 'refs/top-bases/fix-branch' into fix-branch

14 years agoMerge branch 'fix-stack-dsl_deleg_get' into refs/top-bases/fix-branch
Brian Behlendorf [Wed, 16 Jun 2010 20:49:55 +0000 (13:49 -0700)]
Merge branch 'fix-stack-dsl_deleg_get' into refs/top-bases/fix-branch

14 years agoNew TopGit dependency: fix-stack-dsl_deleg_get
Brian Behlendorf [Wed, 16 Jun 2010 20:49:53 +0000 (13:49 -0700)]
New TopGit dependency: fix-stack-dsl_deleg_get

14 years agoAdd fix-stack-dsl_deleg_get topic branch
Brian Behlendorf [Wed, 16 Jun 2010 20:49:25 +0000 (13:49 -0700)]
Add fix-stack-dsl_deleg_get topic branch

Reduce stack usage in dsl_deleg_get, gcc flagged it as consuming a
whopping 1040 bytes or potentially 1/4 of a 4K stack.  This patch
moves all the large structures and buffer off the stack and on to
the heap.  This includes 2 zap_cursor_t structs each 52 bytes in
size, 2 zap_attribute_t structs each 280 bytes in size, and 1
256 byte char array.  The total saves on the stack is 880 bytes
after you account for the 5 new pointers added.

Also the source buffer length has been increased from MAXNAMELEN
to MAXNAMELEN+strlen(MOS_DIR_NAME)+1 as described by the comment in
dsl_dir_name().  A buffer overrun may have been possible with the
slightly smaller buffer.

14 years agoMerge branch 'fix-branch' into refs/top-bases/zfs-branch
Brian Behlendorf [Wed, 16 Jun 2010 19:44:08 +0000 (12:44 -0700)]
Merge branch 'fix-branch' into refs/top-bases/zfs-branch

14 years agoMerge commit 'refs/top-bases/fix-branch' into fix-branch
Brian Behlendorf [Wed, 16 Jun 2010 19:40:40 +0000 (12:40 -0700)]
Merge commit 'refs/top-bases/fix-branch' into fix-branch

14 years agoMerge branch 'fix-stack-dsl_dir_open_spa' into refs/top-bases/fix-branch
Brian Behlendorf [Wed, 16 Jun 2010 19:40:39 +0000 (12:40 -0700)]
Merge branch 'fix-stack-dsl_dir_open_spa' into refs/top-bases/fix-branch

14 years agoNew TopGit dependency: fix-stack-dsl_dir_open_spa
Brian Behlendorf [Wed, 16 Jun 2010 19:40:37 +0000 (12:40 -0700)]
New TopGit dependency: fix-stack-dsl_dir_open_spa

14 years agoAdd fix-stack-dsl_dir_open_spa topic branch
Brian Behlendorf [Wed, 16 Jun 2010 19:39:44 +0000 (12:39 -0700)]
Add fix-stack-dsl_dir_open_spa topic branch

Reduce stack usage by 256 bytes by moving buf char array from
the stack to the heap.

14 years agoMerge branch 'gcc-branch' into refs/top-bases/zfs-branch
Brian Behlendorf [Wed, 16 Jun 2010 19:11:20 +0000 (12:11 -0700)]
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch

14 years agoMerge commit 'refs/top-bases/gcc-branch' into gcc-branch
Brian Behlendorf [Wed, 16 Jun 2010 19:11:19 +0000 (12:11 -0700)]
Merge commit 'refs/top-bases/gcc-branch' into gcc-branch