aboutsummaryrefslogtreecommitdiff
path: root/sys/cddl/contrib/opensolaris
diff options
context:
space:
mode:
authorAndriy Gapon <avg@FreeBSD.org>2017-09-01 17:57:51 +0000
committerAndriy Gapon <avg@FreeBSD.org>2017-09-01 17:57:51 +0000
commite08e3c87ce9cae57e20b776f928213a12dcb111d (patch)
treed7bea5e4652036b5e5c10e4d9c5a503a24a56560 /sys/cddl/contrib/opensolaris
parentb5742b1e923622999ba68d0fc31c7f8474d13344 (diff)
downloadsrc-e08e3c87ce9cae57e20b776f928213a12dcb111d.tar.gz
src-e08e3c87ce9cae57e20b776f928213a12dcb111d.zip
8558 lwp_create() returns EAGAIN on system with more than 80K ZFS filesystems
illumos/illumos-gate@216d7723a1a58124cf95c4950d51d5f99d3f4128 https://github.com/illumos/illumos-gate/commit/216d7723a1a58124cf95c4950d51d5f99d3f4128 https://www.illumos.org/issues/8558 On a system with more than 80K ZFS filesystems, we've seen cases where lwp_create() will start to fail by returning EAGAIN. The problem being, for each of those 80K ZFS filesystems, a taskq will be created for each dataset as part of the ZIL for each dataset. For each of these taskq's, a kernel thread will be created which results in 24KB being allocated for each thread. With enough of these 24KB allocations, we eventually exhaust the memory region set aside for these allocations. Currently, segkpsize is set to a value of 2GB, which means we can only support about 80K filesystems; 2GB / 24KB = ~80K. The lwp_create() failure comes into play due to the fact that LWP creation also allocates 24KB from this same region of memory. Thus, if we've exhausted this region of memory due to the number of ZIL taskq's, there won't be any memory avaible to allow the call to lwp_create() to succeed. Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Sebastien Roy <sebastien.roy@delphix.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: Prakash Surya <prakash.surya@delphix.com>
Notes
Notes: svn path=/vendor-sys/illumos/dist/; revision=323110
Diffstat (limited to 'sys/cddl/contrib/opensolaris')
0 files changed, 0 insertions, 0 deletions