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);
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to