svn commit: r346120 - head/sys/kern

Edward Napierala trasz at freebsd.org
Fri Apr 12 14:28:46 UTC 2019


On Thu, 11 Apr 2019 at 17:26, Conrad Meyer <cem at freebsd.org> wrote:
>
> Hi Edward,
>
> I have a question about this change below.
>
> On Thu, Apr 11, 2019 at 4:22 AM Edward Tomasz Napierala
> <trasz at freebsd.org> wrote:
> >
> > Author: trasz
> > Date: Thu Apr 11 11:21:45 2019
> > New Revision: 346120
> > URL: https://svnweb.freebsd.org/changeset/base/346120
> >
> > Log:
> >   Use shared vnode locks for the ELF interpreter.

[..]

> On the one hand, perhaps VOP_IS_TEXT() is rarely false for common
> interpreters anyway.  On the other hand, there is sort of a
> renaissance of static linking happening.  So maybe the thought is,
> !VOP_IS_TEXT is likely to be rare, and LK_UPGRADE success even more
> rare, so why bother writing additional code for it?

Konstantin already answered to most of the points, but regarding
this one: that's exactly the case.  In a typical case, the number of times
this code path will be executed is zero.  I'd expect one - when running
dynamically linked ELF binary for the first time - but for some reason in
that case lookup() returns with the exclusive vnode lock already held.


More information about the svn-src-head mailing list