summaryrefslogtreecommitdiff
path: root/usr/src/lib/libzpool
diff options
context:
space:
mode:
authorGvozden Neskovic <neskovic@gmail.com>2019-04-23 18:51:53 +0000
committerJerry Jelinek <jerry.jelinek@joyent.com>2019-04-26 19:13:48 +0000
commitc4ab0d3f46036e85ad0700125c5a83cc139f55a3 (patch)
treec8dcb815ca1e1c138f826852abce1200a291c372 /usr/src/lib/libzpool
parent95fa23b1c91c8660ef64ef5a20acfcd53961746e (diff)
downloadillumos-joyent-c4ab0d3f46036e85ad0700125c5a83cc139f55a3.tar.gz
10809 Performance optimization of AVL tree comparator functions
Portions contributed by: Jerry Jelinek <jerry.jelinek@joyent.com> Reviewed by: Richard Elling <richard.elling@gmail.com> Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed by: Toomas Soome <tsoome@me.com> Reviewed by: Robert Mustacchi <rm@joyent.com> Approved by: Richard Lowe <richlowe@richlowe.net>
Diffstat (limited to 'usr/src/lib/libzpool')
-rw-r--r--usr/src/lib/libzpool/common/sys/zfs_context.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/usr/src/lib/libzpool/common/sys/zfs_context.h b/usr/src/lib/libzpool/common/sys/zfs_context.h
index d1dce80196..8612aefb0f 100644
--- a/usr/src/lib/libzpool/common/sys/zfs_context.h
+++ b/usr/src/lib/libzpool/common/sys/zfs_context.h
@@ -285,6 +285,14 @@ extern vnode_t *rootdir;
#define minclsyspri 60
#define maxclsyspri 99
+#if (GCC_VERSION >= 302) || (__INTEL_COMPILER >= 800) || defined(__clang__)
+#define _zfs_expect(expr, value) (__builtin_expect((expr), (value)))
+#else
+#define _zfs_expect(expr, value) (expr)
+#endif
+
+#define likely(x) _zfs_expect((x) != 0, 1)
+
#define CPU_SEQID (thr_self() & (max_ncpus - 1))
extern void kernel_init(int);