Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Jul 2003 15:03:41 -0700 (PDT)
From:      Julian Elischer <julian@elischer.org>
To:        Marcel Moolenaar <marcel@xcllnt.net>
Cc:        FreeBSD current users <current@freebsd.org>
Subject:   Re: small scheduler hack/patch
Message-ID:  <Pine.BSF.4.21.0307101445250.40558-100000@InterJet.elischer.org>
In-Reply-To: <20030710214339.GA48547@ns1.xcllnt.net>

next in thread | previous in thread | raw e-mail | index | archive | help


On Thu, 10 Jul 2003, Marcel Moolenaar wrote:

> On Fri, Jul 11, 2003 at 07:21:16AM +1000, Bruce Evans wrote:
> > 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.
> 
> The bogosity is in MI code. Not being able to support 64-way (or higher)
> XYZ machines because MI code uses 32-bit bitmaps is wrong. Both the type
> and the access to it should be abstracted in MI code to allow for
> compound types. Much akin to sigset_t.

I think that the fact that it is even a bitmap should be hidden
it comes I think from the fact that some hardware treats things as
bitmaps. (?)

there are lots of cases where the code is doing 
foreach cpu
 if (cpu->mask & our_mask) 
	continue;		/* skip ourself */


which could easly be 
if (cpu->number == PCPU_GET(cpu_number))

i.e there are a lot of cases where a mask is not the natural
way to express the information being used..
abstracting it to
		cpu_is_us(pcpu)
makes it more readable and more MI



> 
> -- 
>  Marcel Moolenaar	  USPA: A-39004		 marcel@xcllnt.net
> 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0307101445250.40558-100000>