OpenZFS on Linux and FreeBSD
Go to file
Prakash Surya cef7605c34 Throttle number of freed slabs based on nr_to_scan
Previously, the SPL tried to maintain Solaris semantics by freeing
all available (empty) slabs from its slab caches when the shrinker
was called. This is not desirable when running on Linux. To make
the SPL shrinker more Linux friendly, the actual number of freed
slabs from each of the slab caches is now derived from nr_to_scan
and skc_slab_objs.

Additionally, an accounting bug was fixed in spl_slab_reclaim()
which could cause us to reclaim one more slab than requested.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #101
2012-05-07 11:46:15 -07:00
cmd Cleanly support debug packages 2012-02-27 14:24:22 -08:00
config Fix distribution detection 2012-03-05 10:38:38 -08:00
include Throttle number of freed slabs based on nr_to_scan 2012-05-07 11:46:15 -07:00
lib Cleanly support debug packages 2012-02-27 14:24:22 -08:00
module Throttle number of freed slabs based on nr_to_scan 2012-05-07 11:46:15 -07:00
patches Reimplement rwlocks for Linux lock profiling/analysis. 2009-09-18 16:09:47 -07:00
scripts Cleanly support debug packages 2012-02-27 14:24:22 -08:00
.gitignore Ignore unsigned module build products 2010-03-11 14:29:17 -08:00
AUTHORS Public Release Prep 2010-05-17 15:18:00 -07:00
COPYING Public Release Prep 2010-05-17 15:18:00 -07:00
ChangeLog Prep for spl-0.5.0 tag 2010-08-13 09:33:50 -07:00
DISCLAIMER Public Release Prep 2010-05-17 15:18:00 -07:00
INSTALL Public Release Prep 2010-05-17 15:18:00 -07:00
META SPL 0.6.0-rc8 2012-03-26 11:57:13 -07:00
Makefile.am Add the release component to headers 2012-01-18 11:06:26 -08:00
Makefile.in Cleanly support debug packages 2012-02-27 14:24:22 -08:00
PKGBUILD-spl-modules.in Add make rule for building Arch Linux packages 2011-12-14 16:44:10 -08:00
PKGBUILD-spl.in Add make rule for building Arch Linux packages 2011-12-14 16:44:10 -08:00
README.markdown Fix markdown rendering 2010-09-15 09:05:34 -07:00
autogen.sh Public Release Prep 2010-05-17 15:18:00 -07:00
configure Fix distribution detection 2012-03-05 10:38:38 -08:00
configure.ac Add make rule for building Arch Linux packages 2011-12-14 16:44:10 -08:00
spl-modules.spec.in Cleanly support debug packages 2012-02-27 14:24:22 -08:00
spl.spec.in Fix rpm dependencies 2012-01-18 11:24:36 -08:00
spl_config.h.in Add --enable-debug-log configure option 2012-02-02 11:27:54 -08:00

README.markdown

The Solaris Porting Layer (SPL) is a Linux kernel module which provides many of the Solaris kernel APIs. This shim layer makes it possible to run Solaris kernel code in the Linux kernel with relatively minimal modification. This can be particularly useful when you want to track upstream Solaris development closely and dont want the overhead of maintaining a large patch which converts Solaris primitives to Linux primitives.

To build packages for your distribution:

$ ./configure
$ make pkg

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