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_at_xcllnt.net >Received on Thu Jul 10 2003 - 13:04:02 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:14 UTC