Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Oct 2019 08:24:09 +0200
From:      Antoine Brodin <antoine@freebsd.org>
To:        Konstantin Belousov <kib@freebsd.org>
Cc:        src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org,  svn-src-head@freebsd.org, Gerald Pfeifer <gerald@freebsd.org>
Subject:   Re: svn commit: r354095 - in head/sys: amd64/amd64 amd64/include kern
Message-ID:  <CAALwa8n9WK8FGn%2BmB=FoNuf=%2B8JmOtpg00m=KB3Z_O4Y38PMAw@mail.gmail.com>
In-Reply-To: <201910252009.x9PK9gIV092660@repo.freebsd.org>
References:  <201910252009.x9PK9gIV092660@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Oct 25, 2019 at 10:09 PM Konstantin Belousov <kib@freebsd.org> wrote:
>
> Author: kib
> Date: Fri Oct 25 20:09:42 2019
> New Revision: 354095
> URL: https://svnweb.freebsd.org/changeset/base/354095
>
> Log:
>   amd64: move pcb out of kstack to struct thread.
>
>   This saves 320 bytes of the precious stack space.
>
>   The only negative aspect of the change I can think of is that the
>   struct thread increased by 320 bytes obviously, and that 320 bytes are
>   not swapped out anymore. I believe the freed stack space is much more
>   important than that.  Also, current struct thread size is 1392 bytes
>   on amd64, so UMA will allocate two thread structures per (4KB) slab,
>   which leaves a space for pcb without increasing zone memory use.
>
>   Reviewed by:  alc, markj
>   Tested by:    pho
>   Sponsored by: The FreeBSD Foundation
>   MFC after:    2 weeks
>   Differential revision:        https://reviews.freebsd.org/D22138

Hi,

It seems that this breaks at least some versions of gcc:

In file included from /usr/include/sys/proc.h:75,
                 from /usr/include/sys/user.h:51,
                 from ./md-unwind-support.h:34,
                 from
/wrkdirs/usr/ports/lang/gcc10-devel/work/gcc-10-20191020/libgcc/unwind-dw2.c:412:
/usr/include/machine/proc.h:76:13: error: field 'md_pcb' has incomplete type
   76 |  struct pcb md_pcb;
      |             ^~~~~~

Antoine



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAALwa8n9WK8FGn%2BmB=FoNuf=%2B8JmOtpg00m=KB3Z_O4Y38PMAw>