Re: enable INVARIANT_SUPPORT in GENERIC in release builds

Colin Percival <[email protected]>
Newsgroups gmane.os.freebsd.architechture
Message-ID <0100018ee9e8a381-2e0a8845-5321-4841-bfaf-184376e88112-000000@email.amazonses.com>
On 4/16/24 14:00, Lexi Winter wrote:
> currently release version of GENERIC (or GENERIC-NODEBUG in main) does
> not have INVARIANT_SUPPORT enabled.
> 
> unfortunately, the presence or absense of this option breaks the KABI
> because, as i understand it, modules built with INVARIANTS won't load on
> a kernel without INVARIANT_SUPPORT.
> 
> is there a reason INVARIANT_SUPPORT can't just be enabled by default?

I think while it had much lower overhead than INVARIANTS, there was still
a significant overhead cost at least in the early days.  Maybe that's no
longer the case.

> this would remove one roadblock to separating kernel modules from the
> kernel config in both pkgbase and ports, because there would be no need
> to build a KABI-incompatible kernel just to build a single module with
> INVARIANTS.

If the overhead cost of INVARIANT_SUPPORT is no longer relevant, I'd be
fine with including it in stable/15.  Of course we can't turn it on for
stable/1[34] for the ABI reasons you just mentioned.

-- 
Colin Percival
FreeBSD Release Engineering Lead & EC2 platform maintainer
Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.