OpenZFS on Linux and FreeBSD
Go to file
Garrett D'Amore a38718a63d Illumos #734: Use taskq_dispatch_ent() interface
It has been observed that some of the hottest locks are those
of the zio taskqs.  Contention on these locks can limit the
rate at which zios are dispatched which limits performance.

This upstream change from Illumos uses new interface to the
taskqs which allow them to utilize a prealloc'ed taskq_ent_t.
This removes the need to perform an allocation at dispatch
time while holding the contended lock.  This has the effect
of improving system performance.

Reviewed by: Albert Lee <trisk@nexenta.com>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Reviewed by: Alexey Zaytsev <alexey.zaytsev@nexenta.com>
Reviewed by: Jason Brian King <jason.brian.king@gmail.com>
Reviewed by: George Wilson <gwilson@zfsmail.com>
Reviewed by: Adam Leventhal <ahl@delphix.com>
Approved by: Gordon Ross <gwr@nexenta.com>

References to Illumos issue:
  https://www.illumos.org/issues/734

Ported-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #482
2011-12-14 09:19:30 -08:00
cmd Demote the whackbang in the zpool_id script. 2011-12-05 09:48:18 -08:00
config Fix configure tests to play nice with GCC 4.6 2011-11-29 16:14:25 -08:00
dracut Simplify BDI integration 2011-11-08 10:19:03 -08:00
etc Quote variables in the zfs.lsb script. 2011-12-05 09:51:55 -08:00
include Illumos #734: Use taskq_dispatch_ent() interface 2011-12-14 09:19:30 -08:00
lib Illumos #734: Use taskq_dispatch_ent() interface 2011-12-14 09:19:30 -08:00
man Simplify BDI integration 2011-11-08 10:19:03 -08:00
module Illumos #734: Use taskq_dispatch_ent() interface 2011-12-14 09:19:30 -08:00
patches Add build system 2010-08-31 13:41:27 -07:00
scripts Simplify BDI integration 2011-11-08 10:19:03 -08:00
udev Simplify BDI integration 2011-11-08 10:19:03 -08:00
.gitignore Ignore unsigned module build products 2010-03-09 14:14:09 -08:00
AUTHORS Add "ashift" property to zpool create 2011-06-17 16:35:49 -07:00
COPYING Relocate COPYING+COPYRIGHT, remove README cruft 2008-12-01 15:34:53 -08:00
COPYRIGHT Update COPYRIGHT to reference zpios CDDL exceptions. 2010-05-18 14:25:28 -07:00
ChangeLog Add build system 2010-08-31 13:41:27 -07:00
DISCLAIMER Update COPYRIGHT and DISCLAIMER. 2010-05-18 10:32:23 -07:00
META Prep zfs-0.6.0-rc6 tag 2011-10-06 14:10:45 -07:00
Makefile.am Move udev rules from /etc/udev to /lib/udev 2011-08-08 16:21:10 -07:00
Makefile.in Simplify BDI integration 2011-11-08 10:19:03 -08:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
README.markdown Fix markdown rendering 2010-09-15 09:09:37 -07:00
ZFS.RELEASE Update to onnv_147 2010-08-26 14:24:34 -07:00
autogen.sh Make autogen.sh executable 2011-07-26 10:15:35 -07:00
configure Fix configure tests to play nice with GCC 4.6 2011-11-29 16:14:25 -08:00
configure.ac Fix autoconf variable substitution in init scripts. 2011-08-19 16:26:14 -07:00
zfs-modules.spec.in Fix depmod warning 2011-11-10 10:26:06 -08:00
zfs-script-config.sh.in Unconditionally load core kernel modules 2010-11-11 11:38:25 -08:00
zfs.spec.in Include distribution in release 2011-10-19 11:43:27 -07:00
zfs_config.h.in Linux 3.1 compat, fops->fsync() 2011-11-10 10:03:08 -08:00

README.markdown

Native ZFS for Linux! ZFS is an advanced file system and volume manager which was originally developed for Solaris. It has been successfully ported to FreeBSD and now there is a functional Linux ZFS kernel port too. The port currently includes a fully functional and stable SPA, DMU, and ZVOL with a ZFS Posix Layer (ZPL) on the way!

$ ./configure
$ make pkg

Full documentation for building, configuring, and using ZFS can be found at: http://zfsonlinux.org