Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Apr 2013 07:52:46 +0000 (UTC)
From:      Martin Matuska <mm@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r250017 - vendor-sys/illumos/dist/uts/common/fs/zfs
Message-ID:  <201304280752.r3S7qkFE091357@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mm
Date: Sun Apr 28 07:52:46 2013
New Revision: 250017
URL: http://svnweb.freebsd.org/changeset/base/250017

Log:
  Update vendor-sys/illumos/dist to illumos-gate 14020:3843f7c5f635
  
  Illumos ZFS issues:
    3705 stack overflow due to zfs lz4 compression

Modified:
  vendor-sys/illumos/dist/uts/common/fs/zfs/lz4.c

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/lz4.c
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/lz4.c	Sun Apr 28 07:48:53 2013	(r250016)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/lz4.c	Sun Apr 28 07:52:46 2013	(r250017)
@@ -197,20 +197,17 @@ lz4_decompress(void *s_start, void *d_st
     defined(__amd64) || defined(__ppc64__) || defined(_WIN64) || \
     defined(__LP64__) || defined(_LP64))
 #define	LZ4_ARCH64 1
-/*
- * Illumos: On amd64 we have 20k of stack and 24k on sun4u and sun4v, so we
- * can spend 16k on the algorithm
- */
-#define	STACKLIMIT 12
 #else
 #define	LZ4_ARCH64 0
+#endif
+
 /*
- * Illumos: On i386 we only have 12k of stack, so in order to maintain the
- * same COMPRESSIONLEVEL we have to use heap allocation. Performance will
- * suck, but alas, it's ZFS on 32-bit we're talking about, so...
+ * Limits the amount of stack space that the algorithm may consume to hold
+ * the compression lookup table. The value `9' here means we'll never use
+ * more than 2k of stack (see above for a description of COMPRESSIONLEVEL).
+ * If more memory is needed, it is allocated from the heap.
  */
-#define	STACKLIMIT 11
-#endif
+#define	STACKLIMIT 9
 
 /*
  * Little Endian or Big Endian?
@@ -240,11 +237,7 @@ lz4_decompress(void *s_start, void *d_st
 #define	LZ4_FORCE_UNALIGNED_ACCESS 1
 #endif
 
-/*
- * Illumos: we can't use GCC's __builtin_ctz family of builtins in the
- * kernel
- */
-#define	LZ4_FORCE_SW_BITCOUNT
+/* #define	LZ4_FORCE_SW_BITCOUNT */
 
 /*
  * Compiler Options



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304280752.r3S7qkFE091357>