svn commit: r221242 -
stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Marcel Moolenaar
marcel at FreeBSD.org
Sat Apr 30 05:28:55 UTC 2011
Author: marcel
Date: Sat Apr 30 05:28:54 2011
New Revision: 221242
URL: http://svn.freebsd.org/changeset/base/221242
Log:
Unbreak non-x86 and in particular ia64, The default stack size
on ia64 is 32KB. Unconditionally hardcoding a 16KB stack for
reasons of increasing the stack size on i386 is just wrong. If
the size was indeed expressed in terms of pages, as the commit
log suggested, then it would happen to be just right for ia64,
though only accidentally.
Pointy hat: avg, pjd
Modified:
stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c
Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c
==============================================================================
--- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c Sat Apr 30 02:44:15 2011 (r221241)
+++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c Sat Apr 30 05:28:54 2011 (r221242)
@@ -129,6 +129,7 @@ void
txg_sync_start(dsl_pool_t *dp)
{
tx_state_t *tx = &dp->dp_tx;
+ size_t stksize = 0;
mutex_enter(&tx->tx_sync_lock);
@@ -146,7 +147,10 @@ txg_sync_start(dsl_pool_t *dp)
* 32-bit x86. This is due in part to nested pools and
* scrub_visitbp() recursion.
*/
- tx->tx_sync_thread = thread_create(NULL, 16<<10, txg_sync_thread,
+#ifdef __i386__
+ stksize = 16 << 10;
+#endif
+ tx->tx_sync_thread = thread_create(NULL, stksize, txg_sync_thread,
dp, 0, &p0, TS_RUN, minclsyspri);
mutex_exit(&tx->tx_sync_lock);
More information about the svn-src-stable-8
mailing list