small scheduler hack/patch

Julian Elischer julian at
Thu Jul 10 14:33:20 PDT 2003

On Fri, 11 Jul 2003, Bruce Evans wrote:

> On Thu, 10 Jul 2003, Julian Elischer wrote:
> > I have a small "proof of concept" scheduler hack at:
> >
> > ...
> > It's only implemented for SMP/i386 as the code to halt the cpu is only
> > present (from my quick view) in x86 and it doesn't make sense in UP..
> ipi_selected() is essentially MI although it is declared in
> <machine/smp.h> and takes MD arg types, since it is used in subr_smp.c
> and subr_smp.c is MI by definition.  Its second arg is u_int64_t on
> alphas, int on ia64's, and u_int on other arches.  This isn't a problem
> since the arg is always a #define'd value like IPI_AST and these values
> have MD definitions.  Its first arg has type u_int64_t on ia64's and
> u_int on other arches.  This is bogus for ia64's since subr_smp.c uses
> u_int for all bitmaps of CPUs, so systems with more than 32 CPUs cannot
> actually work.

I meant that it's pointless to do the IPI on other architectures as only
i386 does the halt in the idle loop.

all you say is true but I'm not out to fix the IPI code..
(jhb on the other hand IS and I see him checking in lots of changes to
it in his P4 tree. Maybe your comments will help him on his cleanup.)

> Bruce

More information about the freebsd-current mailing list