HomeFreeBSD

Switch allocations from KM_SLEEP to KM_PUSHPAGE

Description

Switch allocations from KM_SLEEP to KM_PUSHPAGE

A couple of kmem_alloc() allocations were using KM_SLEEP in
the sync thread context. These were accidentally introduced
by the recent set of Illumos patches. The solution is to
switch to KM_PUSHPAGE.

dsl_dataset_promote_sync() -> promote_hold() -> snaplist_make() ->
kmem_alloc(sizeof (*snap), KM_SLEEP);

dsl_dataset_user_hold_sync() -> dsl_onexit_hold_cleanup() ->
kmem_alloc(sizeof (*ca), KM_SLEEP)

Signed-off-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #1775

Details

Provenance
Brian Behlendorf <behlendorf1@llnl.gov>Authored on Nov 5 2013, 6:32 PM
Parents
rG1ca546b33888: Illumos #3995
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG2517c8ee08ef: Switch allocations from KM_SLEEP to KM_PUSHPAGE (authored by Brian Behlendorf <behlendorf1@llnl.gov>).Nov 5 2013, 8:26 PM