On Sat, Oct 26, 2019 at 08:24:09AM +0200, Antoine Brodin wrote: > On Fri, Oct 25, 2019 at 10:09 PM Konstantin Belousov <k...@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; > | ^~~~~~ >
It is very strange. Are gcc 9 or 8 affected ? As a blind guess, please try this patch. diff --git a/sys/amd64/include/pcb.h b/sys/amd64/include/pcb.h index 44e34fa5c83..9758e684da2 100644 --- a/sys/amd64/include/pcb.h +++ b/sys/amd64/include/pcb.h @@ -45,7 +45,7 @@ #include <machine/fpu.h> #include <machine/segments.h> -#ifdef __amd64__ +#if defined(__amd64__) || defined(__x86_64__) /* * NB: The fields marked with (*) are used by kernel debuggers. Their * ABI should be preserved. _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"