On Mon, Feb 23, 2026 at 09:10:24PM -0600, Kyle Evans wrote:
> On 2/5/26 10:32, Mitchell Horne wrote:
> > The branch main has been updated by mhorne:
> >
> > URL:
> > https://cgit.FreeBSD.org/src/commit/?id=0d3652f67d246348e2c017205c6782caf4484449
> >
> > commit 0d3652f67d246348e2c017205c6782caf4484449
> > Author: Mitchell Horne <[email protected]>
> > AuthorDate: 2026-02-05 16:12:03 +0000
> > Commit: Mitchell Horne <[email protected]>
> > CommitDate: 2026-02-05 16:32:16 +0000
> >
> > sched_shim: Drop the no-ifunc case
> > Now all architectures support kernel ifunc resolvers. Therefore, the
> > alternate implementation can be removed.
> > Reviewed by: kib
> > Sponsored by: The FreeBSD Foundation
> > Differential Revision: https://reviews.freebsd.org/D55114
> > ---
> > sys/kern/sched_shim.c | 8 --------
> > 1 file changed, 8 deletions(-)
> >
>
> Hi,
>
> I'm trying to mentally reconcile the commit message with the diff...
> shouldn't we have kept the `DEFINE_IFUNC` version if all architectures now
> support ifunc resolvers? To the naked eye it looks like we removed the ifunc
> bits instead of the non-ifunc bits.
>
You are right, thank you for noting.
Will you fix it?
> Thanks,
>
> Kyle Evans
>
> > diff --git a/sys/kern/sched_shim.c b/sys/kern/sched_shim.c
> > index 83e4412494d3..2b1dcecda433 100644
> > --- a/sys/kern/sched_shim.c
> > +++ b/sys/kern/sched_shim.c
> > @@ -22,20 +22,12 @@
> > const struct sched_instance *active_sched;
> > -#ifndef __DO_NOT_HAVE_SYS_IFUNCS
> > -#define __DEFINE_SHIM(__m, __r, __n, __p, __a) \
> > - DEFINE_IFUNC(, __r, __n, __p) \
> > - { \
> > - return (active_sched->__m); \
> > - }
> > -#else
> > #define __DEFINE_SHIM(__m, __r, __n, __p, __a) \
> > __r \
> > __n __p \
> > { \
> > return (active_sched->__m __a); \
> > }
> > -#endif
> > #define DEFINE_SHIM0(__m, __r, __n) \
> > __DEFINE_SHIM(__m, __r, __n, (void), ())
> > #define DEFINE_SHIM1(__m, __r, __n, __t1, __a1) \
> >