Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Oct 2011 19:31:00 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Lev Serebryakov <lev@freebsd.org>
Cc:        Lawrence Stewart <lstewart@freebsd.org>, fs@freebsd.org
Subject:   Re: code in GEOM thread could not use vnode API (Was: alq_open_flags() panics in _mtx_lock_flags())
Message-ID:  <20111003163100.GT1511@deviant.kiev.zoral.com.ua>
In-Reply-To: <1298204673.20111003202728@serebryakov.spb.ru>
References:  <1258376930.20111002193223@serebryakov.spb.ru> <228926402.20111002231459@serebryakov.spb.ru> <349860851.20111003113417@serebryakov.spb.ru> <4E8986F0.3050007@freebsd.org> <1223820108.20111003161859@serebryakov.spb.ru> <20111003160145.GP1511@deviant.kiev.zoral.com.ua> <1298204673.20111003202728@serebryakov.spb.ru>

next in thread | previous in thread | raw e-mail | index | archive | help

--n+Pw2xyN35UiJQWs
Content-Type: text/plain; charset=koi8-r
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Oct 03, 2011 at 08:27:28PM +0400, Lev Serebryakov wrote:
> Hello, Kostik.
> You wrote 3 =CF=CB=D4=D1=C2=D2=D1 2011 =C7., 20:01:45:
>=20
> > Look at the body of e.g. g_io_schedule_down(), the
> >                 THREAD_NO_SLEEPING();
> > call right before the call to geom start method.
>=20
> > Basically, you cannot use any kernel subsystem in the context of
> > the up/down threads that could sleep. This includes VFS, VM and
> > everything that is layered on top of it.
>   VM too? Allocating of new element to put into working queue is
>  prohibited? It is what (almost) every GEOM class does.
>   Even geom_nop() allocate new struct bio from g_down thread.
Sleeping (and thus non-failing) allocation is prohibited.

--n+Pw2xyN35UiJQWs
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (FreeBSD)

iEYEARECAAYFAk6J40QACgkQC3+MBN1Mb4jbxACdGA87XkTHUnq29kstAeQqLaR8
V6sAoNMMc/eMzTJ+xOtAJboXOdt8qu7S
=SnrY
-----END PGP SIGNATURE-----

--n+Pw2xyN35UiJQWs--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111003163100.GT1511>