Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 03 Mar 2021 18:34:43 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 253992] ufsdirhash_build() sleeps with directory vnode locked due to M_WAITOK
Message-ID:  <bug-253992-227-UJH4s33AMe@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-253992-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-253992-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D253992

Konstantin Belousov <kib@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kib@FreeBSD.org,
                   |                            |markj@FreeBSD.org

--- Comment #1 from Konstantin Belousov <kib@FreeBSD.org> ---
Generally, I agree that we should not do malloc(M_WAITOK) under vnode lock.
The main reason for this is that we might own vnode lock for the vnode which
owns too many pageable pages and that prevents pagedaemon from making progr=
ess,
or at least makes it life significantly harder.

That said, in your case there are two things that are questionable:
- we default to round-robin policy for zones which do not specify policy
  explicitly (what is isi_kern_openat, is it for isilon?)
- this is not real OOM, it is due to partitioning and strange policy that
  allocator has to wait for pagedaemon.  And still, pagedaemon must be able
  to make some progress, for overloaded domain.

I.e. I am leery of the necessity of the proposed change.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-253992-227-UJH4s33AMe>