Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Jan 2023 23:16:02 +0000
From:      Brooks Davis <brooks@freebsd.org>
To:        Mitchell Horne <mhorne@freebsd.org>
Cc:        Brooks Davis <brooks@freebsd.org>, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: b75062f23431 - main - riscv: Fix thread0.td_kstack_pages init
Message-ID:  <Y8h9sqDMqUzPcG/s@spindle.one-eyed-alien.net>
In-Reply-To: <b2a60e9a-c918-5a88-5eb9-5d8322ca2326@freebsd.org>
References:  <202301171638.30HGcP3C091184@gitrepo.freebsd.org> <b2a60e9a-c918-5a88-5eb9-5d8322ca2326@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jan 18, 2023 at 06:07:47PM -0400, Mitchell Horne wrote:
>=20
>=20
> On 1/17/23 12:38, Brooks Davis wrote:
> > The branch main has been updated by brooks:
> >=20
> > URL: https://cgit.FreeBSD.org/src/commit/?id=3Db75062f23431fbabef1e7d66=
5cae270b144f71b1
> >=20
> > commit b75062f23431fbabef1e7d665cae270b144f71b1
> > Author:     Brooks Davis <brooks@FreeBSD.org>
> > AuthorDate: 2023-01-17 16:36:15 +0000
> > Commit:     Brooks Davis <brooks@FreeBSD.org>
> > CommitDate: 2023-01-17 16:37:42 +0000
> >=20
> >      riscv: Fix thread0.td_kstack_pages init
> >     =20
> >      Commit 0ef3ca7ae37c70e9dc83475dc2e68e98e1c2a418 initialized
> >      thread0.td_kstack_pages to KSTACK_PAGES.  Due to the lack of an
> >      include of opt_kstack_pages.h it used the fallback value of 4 from
> >      machine/param.h.=20
>=20
> Does this mean that we could/should include opt_kstack_pages.h within=20
> machine/param.h (under #ifdef _KERNEL)? This header is both a consumer=20
> and provider of the KSTACK_PAGES definition, by virtue of the #ifndef. I=
=20
> think the hidden dependency should be avoided, if possible.

It's possible we should be doing it in that case, but it's not something
we normally do (the only header I can find that does this is
sys/terminal.h).  If we wanted to do this I'd be tempted to make
machine/param.h define some sort of _KSTACK_PAGES_DEFAULT and move the
definition of KSTACK_PAGES to sys/param.h.

It's a bit unfortunate that the kernel config system means KSTACK_PAGES
is only defined if set explicitly and there's no way to tell the opt_
header has been included since it doesn't include guards.

-- Brooks



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Y8h9sqDMqUzPcG/s>