svn commit: r325726 - head/sys/kern

Jilles Tjoelker jilles at stack.nl
Mon Jan 1 22:54:20 UTC 2018


On Thu, Dec 28, 2017 at 05:25:25PM +0100, Jilles Tjoelker wrote:
> On Thu, Dec 28, 2017 at 12:40:31PM +0000, Antoine Brodin wrote:
> > On Sat, Nov 11, 2017 at 10:39 PM, Mateusz Guzik <mjg at freebsd.org> wrote:
> > > Author: mjg
> > > Date: Sat Nov 11 22:39:33 2017
> > > New Revision: 325726
> > > URL: https://svnweb.freebsd.org/changeset/base/325726

> > > Log:
> > >   Avoid locking and refing in sysctl_kern_proc_args if possible.

> > >   Turns out the sysctl is called a lot e.g. by pkg-static.

> > > Modified:
> > >   head/sys/kern/kern_proc.c

> > There is a regression after this commit: x11-toolkits/gnustep-gui no
> > longer builds.
> > You can find a failure log at
> > http://pb2.nyi.freebsd.org/data/111i386-default-PR224618/2017-12-28_12h28m51s/logs/errors/gnustep-gui-0.25.1_3.log
> > The failure seems to be from lang/gnustep-base:

> >   /* get the argument vectors */
> >   vectors = kvm_getargv(kptr, proc_ptr, 0);

> It looks like the new fast path only works properly if p->p_args is not
> NULL. If p->p_args is NULL, this usually means that the arguments are
> longer than ps_arg_cache_limit and must be retrieved from (pageable)
> process memory and not wired p->p_args->ar_args. It is possible to
> duplicate that piece of code as well but that is probably not worth it.

I created a review that fixes the problem, but I am not completely sure
that it preserves the original intent of the optimization:
https://reviews.freebsd.org/D13729

-- 
Jilles Tjoelker


More information about the svn-src-head mailing list